本文目录一览:
如何使用PHP计算文件的MD5值
function getAllFileMd5($dir){
$hash = '';
$dir = new RecursiveDirectoryIterator($dir);
foreach(new RecursiveIteratorIterator($dir) as $file) {
$hash .= md5_file($file);
}
return md5($hash);
}
?
php怎么获取apk的md5
由于需要判断上传的文件是否被修改过,需要记录上传文件的md5值,这里记录一下获取文件md5值的方法。
if(isset($_FILES['multimedia']) $_FILES['multimedia']['error']==0)
{
$file_name = $_FILES['multimedia']['name'];
$size = getimagesize($_FILES['multimedia']['tmp_name']);
$type = $_FILES['multimedia']['type'];
$original = $_FILES['multimedia']['tmp_name'];
$md5 = md5_file($original);
echo $md5;
}
md5_file()
md5_file() 函数计算文件的 MD5 散列。md5() 函数使用 RSA 数据安全,包括 MD5 报文摘译算法。如果成功,则返回所计算的 MD5 散列,如果失败,则返回 false。
语法:md5(string,raw)
参数string,必需。规定要计算的文件。
参数charlist,可选。规定十六进制或二进制输出格式:TRUE - 原始 16 字符二进制格式;FALSE - 默认。32 字符十六进制数。
?php
$filename = "test.txt";
$md5file = md5_file($filename);
echo $md5file;
?
存储 "test.txt" 文件的 MD5 散列:
?php
$md5file = md5_file("test.txt");
file_put_contents("md5file.txt",$md5file);
?
在本例中,我们将检测 "test.txt" 是否已被更改(即是否 MD5 散列已被更改):
?php
$md5file = file_get_contents("md5file.txt");
if (md5_file("test.txt") == $md5file)
{
echo "The file is ok.";
}
else
{
echo "The file has been changed.";
}
?
itjob网上有很多相关例子
输出:
The file is ok.
php中如何使用MD5码
首先介绍一下PHP中MD5函数的使用方法:
?php
$pswd1=md5("cenusdesign");
echo
$pswd1;
//运行结果为:fc60ec37d1c08d5b0fb67a8cd934d5ba
$pswd2=md5("Cenusdesign");
echo
$pswd2;
//运行结果为:067577d9fc109c80538c81d6f02bd293
?
显然,经过md5加密后,原本“cenusdesign”转变成了一组32位的字符串,而且,即使是一个字母的大小写变化,这组字符串就会发生巨大的变化。
Cenus
Design建议把用户注册时,将密码首先经过MD5转换,然后将转换加密后的数据库。在用户登陆时,也将密码先进行MD5转化,再和数据库中那组经过MD5加密的字符串进行比较。这样,就可以做到在不知道用户确切密码的情况下完成密码的比对操作。