您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
在C语言中,实现MD5加密通常需要使用第三方库,因为标准C库并没有提供MD5加密功能
#include<stdio.h>
#include<string.h>
#include <stdlib.h>
#include<openssl/md5.h>
char *md5_encrypt(const char *input) {
unsigned char digest[MD5_DIGEST_LENGTH];
MD5_CTX ctx;
MD5_Init(&ctx);
MD5_Update(&ctx, input, strlen(input));
MD5_Final(digest, &ctx);
char *output = (char *)malloc(sizeof(char) * (MD5_DIGEST_LENGTH * 2 + 1));
for (int i = 0; i < MD5_DIGEST_LENGTH; i++) {
sprintf(&output[i * 2], "%02x", (unsigned int)digest[i]);
}
output[MD5_DIGEST_LENGTH * 2] = '\0';
return output;
}
int main() {
const char *input = "Hello, world!";
char *hash = md5_encrypt(input);
printf("Original string: %s\n", input);
printf("MD5 hash: %s\n", hash);
free(hash);
return 0;
}
这个示例代码首先包含了openssl/md5.h
头文件,然后定义了一个名为md5_encrypt
的函数,该函数接受一个字符串参数,并返回一个指向新分配的字符串的指针。这个新字符串包含了输入字符串的MD5哈希值。在main
函数中,我们调用md5_encrypt
函数并打印原始字符串和计算出的MD5哈希值。
注意:在编译此代码时,需要链接OpenSSL库。例如,在Linux系统上,可以使用以下命令进行编译:
gcc -o md5_example md5_example.c -lssl -lcrypto
这将生成一个名为md5_example
的可执行文件,你可以运行它来查看MD5加密的结果。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。