鱼C论坛

 找回密码
 立即注册
查看: 6315|回复: 14

[已解决]实现md5为什么编译不了?

[复制链接]
发表于 2021-5-28 20:38:51 | 显示全部楼层 |阅读模式
10鱼币
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include "md5.h"
  4. #define MAX 1024
  5. int main(void)
  6. {
  7.         int i,sum;
  8.         unsigned char encrypt[MAX];
  9.         unsigned char decrypt[MAX];
  10.         
  11.         printf("请输入密码:");
  12.         fgets(encrypt, MAX, stdin);
  13.         
  14.         sum = strlen((char *)encrypt);
  15.         
  16.         printf("你输入的密码是:");
  17.                 for (i = 0; i < sum; i++)
  18.                 {       
  19.                                 printf("%c", encrypt[i]);
  20.                 }
  21.                
  22.         MD5_CTX md5;

  23.         // 初始化
  24.         MD5Init(&md5);
  25.         // 传入明文字符串及其长度
  26.         MD5Update(&md5, encrypt, strlen((char *)encrypt));
  27.         // 得到加密后的字符串
  28.         MD5Final(&md5, decrypt);

  29.         for (i = 0; i < 36; i++)
  30.         {
  31.                 printf("%02x", decrypt[i]);
  32.         }
  33.         putchar('\n');

  34.         return 0;
  35. }
复制代码

最佳答案
2021-5-28 20:38:52
      Linux 下默认含有 OpenSSL 库,所以,编程中可以直接使用密码学的很多函数,其中就包括 md5。在 Windows 的 gcc 实现中,默认是不带 OpenSSL 库的,如果要用,你得自己下载源码,并自行编译、安装。

dev c++软件

dev c++软件
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-5-29 21:26:11 | 显示全部楼层
Minecraft程序猿 发表于 2021-5-29 09:09
你需要把md5.h文件放到一个目录下

是放在一个目录下的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-5-31 14:48:14 | 显示全部楼层
应该不是,试了下linxu,Ubuntu下这些可以编译成功
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-6-6 21:54:48 | 显示全部楼层
人造人 发表于 2021-6-6 21:40
我这边没有任何问题,不清楚你是怎么操作的

是哪里少了什么声明还是什么啊,百度搜了要在工具编译选项里面加东西

百度说下面那一行要加代码就有用,试过没用

百度说下面那一行要加代码就有用,试过没用
QQ截图20210606214837.png
QQ截图20210606214901.png
QQ截图20210606214916.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-1 10:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表