请教linux c怎么计算文件内容的MD5校验值

请教linux c怎么计算文件内容的MD5校验值,第1张

你好,方法如下:

#include <openssl/md5.h>

int MD5_Init(MD5_CTX *c)

int MD5_Update(MD5_CTX *c, const void *data, size_t len)

int MD5_Final(unsigned char *md, MD5_CTX *c)

#include <openssl/md5.h>

#include <string.h>

#include <stdio.h>

int main(void)

{

MD5_CTX ctx

unsigned char outmd[16]={0}

int i=0

unsigned char *String = "hello\n"

printf("data=%s\n",String)

MD5_Init(&ctx)

MD5_Update(&ctx,"hel",3)

MD5_Update(&ctx,"lo\n",3)

MD5_Final(outmd,&ctx)

for(i=0i<16i++)

printf("%02x",outmd[i])

printf("\n")

return 0

}

编译时gcc yourfile.c -lssl

CRC是一种排错检查方式,该演算法的标准由CCITT所指定,至少可检测到99.998%的已知错误。指定文件交由cksum演算,它会回报计算结果,供用户核对文件是否正确无误。若不指定任何文件名称,则cksum指令会从标准输入设备读取数据。

语法:

cksum [--help] [--version] [file...]选项介绍:

--help: 在线帮助

--version: 显示版本信息

执行范例:

1 $ cksum text

2 2828606745 24 text #2828606745为CRC的值,24为text文件的大小(单位:字节)

扩展阅读:

cksum命令是确保文件从一个系统传输到另一个系统地过程中没有被损坏。这个测试要求校验和在源系统中被计算出来,在目的系统中又被计算一次,两个数字比较,如果校验和相等,则该文件被认为是被正确传输了。

当需要检查文件或目录是否被改动过时就要用到cksum命令。通过将一个目录或文件的校验和与它以前的校验和相比较,就能判断该文件是否被改动过。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7427195.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存