|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
封装一个 MD5 函数。第一个参数是目标字符串,用于接收运算后的 MD5 值;第二参数是源字符串,即用户输入的明文密码
#include <stdio.h>
#include <string.h>
#include "md5.h"
void md5(unsigned char *dest, unsigned char *src);
void md5(unsigned char *dest, unsigned char *src)
{
int i;
MD5_CTX md5;
// 初始化
MD5Init(&md5);
// 传入明文字符串及其长度
MD5Update(&md5, src, strlen((char *)src));
// 得到加密后的字符串
MD5Final(&md5, dest);
}
int main(void)
{
int i;
unsigned char src[128];
unsigned char dest[16];
printf("请输入密码:");
scanf("%s", src);
printf("你输入的密码是:%s\n", src);
md5(dest, src);
printf("加密后的密码是:");
for (i = 0; i < 16; i++)
{
printf("%02x", dest[i]);
}
putchar('\n');
return 0;
}
错误:17:error: md5.h:No such file or directory
In function 'md5':
10: error: 'MD5_CTX' undeclared (first use in this function)
10:error :'(Each underclared identifier is reported only once
10:error :for each function it appears in.)
10:error : expected ‘ ;’ before 'md5'
我看不出错误在哪?
- #include <stdio.h>
- #include <string.h>
- void md5(unsigned char *dest, unsigned char *src);
- int main(void)
- {
- int i;
- unsigned char src[128];
- unsigned char dest[16];
- printf("请输入密码:");
- scanf("%s", src);
- printf("你输入的密码是:%s\n", src);
- md5(dest, src);
- printf("加密后的密码是:");
- for (i = 0; i < 16; i++)
- {
- printf("%02x", dest[i]);
- }
- putchar('\n');
- return 0;
- }
复制代码
这是主程序部分
- #include<stdio.h>
- #include <string.h>
- void md5(unsigned char *dest, unsigned char *src)
- {
- int i;
- MD5_CTX md5;//这里有问题!MD5_CTX在之前没有定义或者声明,所以找不到对应接口
- // 初始化
- MD5Init(&md5);
- // 传入明文字符串及其长度
- MD5Update(&md5, src, strlen((char *)src));
- // 得到加密后的字符串
- MD5Final(&md5, dest);
- }
复制代码
MD5_CTX md5;//这里有问题!MD5_CTX在之前没有定义或者声明,所以找不到对应接口
|
|