zoukankan      html  css  js  c++  java
  • MD5例子及其用途

    下载

    /* MD5.H - header file for MD5C.C
    * Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
    * rights reserved.

    共有三个文件MD5.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<<buf;
    36 return 0;
    37 }

    MD5用在游戏打包时,将所有的模型,纹理贴图,地图。。等数据打包成.sqp文件后,对比打包后的数据源文件的MD5值,若相同的话则打包成功,可以删掉源文件以节省存储空间。

    打包后文件的数据可以直接通过sfmpq的api根据文件名打开;源文件的话通过内存映射文件打开,分别计算其MD5值即可。

    游戏加载数据的时候若存在.spq文件则从其读取,后则从本地源文件读取。。。

  • 相关阅读:
    Hyper-v: Snapshot merge
    解决Visual Studio 2010 “无法导入以下密钥文件” 错误
    Wix使用整理(二)
    Wix使用整理(一)
    C# 打开指定目录并定位到文件
    常用dos命令
    使用IE9、FireFox与Chrome浏览WPF Browser Application(.XBAP)的方式
    .NET Versioning and Multi-Targeting
    WPF-命令
    在WPF中显示动态GIF
  • 原文地址:https://www.cnblogs.com/kex1n/p/2311757.html
Copyright © 2011-2022 走看看