日期:2014-05-16  浏览次数:20734 次

如何在Linux内核中调用MD5算法计算文件的MD5值?
在Kernel源码的/crypto/md5.c中看到了md5算法的源码。那么,我要在内核中怎么调用这些方法,才能实现计算一个文件的MD5值呢?(目标是一个文件而不是一串字符串),源码的版本是2.6.38,谢谢。

------解决方案--------------------
如果只是单纯想计算某文件md5,linux基本都自带coreutils软件包,用md5sum命令即可

如果搞开发,一般来说不会直接去用内核的crypto api,内核crypto api主要用于内置的ip sec支持,有些内核不要IP sec,比如一些嵌入式内核,干脆就把crypto api整个裁减了……所以开发linux软件不要用依赖于内核具体配置的功能

最好用openssl的加密库,很好用,网上教程很多
------解决方案--------------------
linux中有md5sum这个命令可以对文件计算md5值
在内核中要计算文件的md5值只能先将文件的内容读到内存中了,在内核中打开文件用filp_open函数,读写数据也要struct file这个结构体