指针函数和函数指针课后作业
封装一个 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;
unsigned char dest;
printf("请输入密码:");
scanf("%s", src);
printf("你输入的密码是:%s\n", src);
md5(dest, src);
printf("加密后的密码是:");
for (i = 0; i < 16; i++)
{
printf("%02x", dest);
}
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'
我看不出错误在哪?
都报错头文件不存在了,还看不出来吗
Krant5 发表于 2019-7-11 15:24
都报错头文件不存在了,还看不出来吗
我不是添加了#include"md5.h"头文件了;
怎么还报错头文件不存在了
乔宽 发表于 2019-7-11 15:32
我不是添加了#include"md5.h"头文件了;
怎么还报错头文件不存在了
可能包含的目录不对; mqcake 发表于 2019-7-11 15:57
可能包含的目录不对;
其实我是按小甲鱼给的课后作业里的代码打的,按理说应该没错。 这是编译器版本不同导致的吧。我也遇到过这种情况。只需要把MD5函数封装在.c文件里,不用预加载,只需要声明一下就可以正常使用了 #include <stdio.h>
#include <string.h>
void md5(unsigned char *dest, unsigned char *src);
int main(void)
{
int i;
unsigned char src;
unsigned char dest;
printf("请输入密码:");
scanf("%s", src);
printf("你输入的密码是:%s\n", src);
md5(dest, src);
printf("加密后的密码是:");
for (i = 0; i < 16; i++)
{
printf("%02x", dest);
}
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在之前没有定义或者声明,所以找不到对应接口
页:
[1]