MD 5の例とその用途

4733 ワード

ダウンロード
/* MD5.H - header file for MD5C.C * Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All * rights reserved.
3つのファイルMD 5がある.h, MD5c.c, global.h
 1 #include "global.h"
2
3 extern "C"
4 {
5 #include "MD5.h"
6 };
7
8 #include <string>
9
10 int main()
11 {
12 MD5_CTX message;
13 std::string s = "";
14 unsigned char *data = (unsigned char*)s.c_str();
15 unsigned char md[16];
16 char buf[33] = {'\0'};
17 char tmp[33] = {'\0'};
18 int i;
19
20 // MD5_CTX
21 MD5Init(&message);
22 // @message — MD5_CTX
23 // @data —
24 // @16 —
25 MD5Update(&message, data, 16);
26 // @md — md5
27 // @message — MD5_CTX
28 MD5Final(md, &message);
29
30 for(i=0; i<16; i++)
31 {
32 sprintf(tmp, "%02X", md[i]);
33 strcat(buf,tmp);
34 }
35 std::cout<36 return 0;
37 }

 
MD 5は、ゲームをパッケージ化するときに、すべてのモデル、テクスチャマップ、地図を使用します.などのデータをパッケージ化する.sqpファイル後,パッケージング後のデータソースファイルのMD 5値を比較し,同じであればパッケージングに成功し,ソースファイルを削除して記憶領域を節約できる.
パッケージング後のファイルのデータはsfmpqのapiを通じてファイル名に基づいて直接開くことができる.ソースファイルはメモリマッピングファイルで開き、それぞれMD 5の値を計算すればよい.
ゲームがデータをロードするときに存在する.spqファイルはそれから読み込まれ、その後はローカルソースファイルから読み込まれます.の