c 和java通用md5_与Java的MD5算法一致的C/C++的MD5算法
时间: 2024-02-01 17:13:18 浏览: 155
三种哈希算法的函数: sha256 md5 sha1
可以使用openssl库中的MD5算法来实现C/C++中与Java的MD5算法一致的效果。以下是一个简单的使用示例:
```c++
#include <openssl/md5.h>
#include <string.h>
void md5(const char* str, unsigned char* result) {
unsigned char digest[MD5_DIGEST_LENGTH];
MD5((unsigned char*) str, strlen(str), digest);
memcpy(result, digest, MD5_DIGEST_LENGTH);
}
```
其中,`str`是待计算MD5值的字符串,`result`是计算结果,为一个16字节的unsigned char数组。使用方法如下:
```c++
unsigned char md5Result[MD5_DIGEST_LENGTH];
md5("hello world", md5Result);
// 现在md5Result里存储了"hello world"的MD5值
```
需要注意的是,openssl库需要在编译时链接。在gcc下,可以使用以下命令进行编译:
```
gcc main.c -lcrypto
```
其中,`main.c`是你的代码文件,`-lcrypto`表示链接crypto库。
阅读全文