1 Star 0 Fork 2

cikker / MD5

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

MD5

介绍

从OpenSSL-1.0.2r源码中移植的C语言MD5算法

公司项目要用到MD5。看到OpenSSL源码的Crypto/Md5目录下有md5.c、md5.h文件, 以为作者们把MD5封装到了这两个文件中,可直接拷贝使用,其实不然, 于是从各个文件中剥离出了相关内容,封装到自己的md5.c、md5.h中。

目前在32位环境中正常运行。

使用说明

md5.h第70行,有一个确定大小端模式的宏,根据实际情况定义, DATA_ORDER_IS_BIG_ENDIANDATA_ORDER_IS_LITTLE_ENDIAN, 如果MD5计算结果不对,可能是这个宏和实际情况不符。

/*
 * DATA_ORDER_IS_BIG_ENDIAN or DATA_ORDER_IS_LITTLE_ENDIAN
 * It must be determined according to the actual situation.
 */
#define DATA_ORDER_IS_LITTLE_ENDIAN

示例代码如下:

#include "md5.h"

int main(void)
{
    MD5_CTX ctx;
    unsigned char test_data[] ="test123";
    unsigned char res[16];
    
    MD5_Init(&ctx);
    MD5_Update(&ctx, test_data, 7);
    MD5_Final(res, &ctx);  /* MD5结果保存在res中 */
    
    return 0;
}

如果是8位机,md5.h中MD5_LONGMD32_REG_T要改成long型,暂未实际测试。

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

空文件

简介

从OpenSSL-1.0.2r移植的C语言MD5算法 展开 收起
C
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C
1
https://gitee.com/cikker/MD5.git
git@gitee.com:cikker/MD5.git
cikker
MD5
MD5
master

搜索帮助