php 获得上传文件的MD5

php 获得上传文件的MD5,第1张

1if(isset($_FILES['multimedia']) &&$_FILES['multimedia']['error']==0)

2{

3$file_name = $_FILES['multimedia']['name']

4$size = getimagesize($_FILES['multimedia']['tmp_name'])

5$type = $_FILES['multimedia']['type']

6$original = $_FILES['multimedia']['tmp_name']

7$md5 = md5_file($original)

8echo $md5

9}

md5_file()

md5_file() 函数计算文件的 MD5 散列。md5() 函数使用 RSA 数据安全,包括 MD5 报文摘译算法。如果成功,则返回所计算的 MD5 散列,如果失败,则返回 false。

语法:md5(string,raw)

参数string,必需。规定要计算的文件。

参数charlist,可选。规定十六进制或二进制输出格式:TRUE - 原始 16 字符二进制格式;FALSE - 默认。32 字符十六进制数。

1<?php

2$filename = "test.txt"

3$md5file = md5_file($filename)

4echo $md5file

5?>

存储 "test.txt" 文件的 MD5 散列:

1<?php

2$md5file = md5_file("test.txt")

3file_put_contents("md5file.txt",$md5file)

4?>

在本例中,我们将检测 "test.txt" 是否已被更改(即是否 MD5 散列已被更改):

01<?php

02$md5file = file_get_contents("md5file.txt")

03if (md5_file("test.txt") == $md5file)

04{

05echo "The file is ok."

06}

07else

08{

09echo "The file has been changed."

10}

11?>

输出:

view sourceprint?

1The file is ok.

function getAllFileMd5($dir){

$hash = ''

$dir = new RecursiveDirectoryIterator($dir)

foreach(new RecursiveIteratorIterator($dir) as $file) {

$hash .= md5_file($file)

}

return md5($hash)

}

?>

首先介绍一下PHP中MD5函数的使用方法:

<?php

$pswd1=md5("cenusdesign")

echo $pswd1//运行结果为:fc60ec37d1c08d5b0fb67a8cd934d5ba

$pswd2=md5("Cenusdesign")

echo $pswd2//运行结果为:067577d9fc109c80538c81d6f02bd293

?>

显然,经过md5加密后,原本“cenusdesign”转变成了一组32位的字符串,而且,即使是一个字母的大小写变化,这组字符串就会发生巨大的变化。

Cenus Design建议把用户注册时,将密码首先经过MD5转换,然后将转换加密后的数据库。在用户登陆时,也将密码先进行MD5转化,再和数据库中那组经过MD5加密的字符串进行比较。这样,就可以做到在不知道用户确切密码的情况下完成密码的比对 *** 作。


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

原文地址:https://54852.com/tougao/11536830.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存