c语言md5加密解密
时间: 2023-09-11 14:05:38 浏览: 306
md5 加密解密
C语言中可以使用开源的md5库来实现md5加密和解密。以下是一个使用md5库进行加密和解密的示例代码:
```c
#include <stdio.h>
#include <string.h>
#include <openssl/md5.h>
void md5_encrypt(const char* input, char* output) {
unsigned char digest[MD5_DIGEST_LENGTH];
MD5((unsigned char*)input, strlen(input), digest);
for (int i = 0; i < MD5_DIGEST_LENGTH; i++) {
sprintf(&output[i * 2], "%02x", (unsigned int)digest[i]);
}
}
int main() {
const char* input = "Hello World";
char output[33]; // MD5结果为16字节,每个字节2位十六进制表示,因此需要33个字符(包括结尾的'\0')
md5_encrypt(input, output);
printf("MD5 加密结果: %s\n", output);
return 0;
}
```
以上代码演示了如何使用openssl库中的MD5函数进行加密。要注意的是,MD5是一种不可逆的哈希算法,所以没有直接的解密方法。在实际应用中,一般使用MD5来进行数据完整性校验和密码存储等。
希望对你有所帮助!如果还有其他问题,请随时提问。
阅读全文