PHP获取文件的MD5值并判断是否被修改的例子

 更新时间:2014年06月19日 09:49:55   投稿:junjie  
这篇文章主要介绍了PHP获取文件的MD5值并判断是否被修改的例子,Message Digest Algorithm 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.";
}
?>

输出:

复制代码 代码如下:

The file is ok.

PS:这里再为大家提供2款MD5加密工具,感兴趣的朋友可以参考一下:

MD5在线加密工具:

http://tools.jb51.net/password/CreateMD5Password

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:

http://tools.jb51.net/password/hash_md5_sha

相关文章

  • PHP取余函数介绍MOD(x,y)与x%y

    PHP取余函数介绍MOD(x,y)与x%y

    php取余数用%符号,即为模运算,取余数的意思,这玩意使用起来可要注意啦
    2014-05-05
  • 深入解析phpCB批量转换的代码示例

    深入解析phpCB批量转换的代码示例

    本篇文章是对phpCB批量转换的代码示例进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • Typecho插件实现添加文章目录的方法详解

    Typecho插件实现添加文章目录的方法详解

    这篇文章主要为大家详细介绍了如何实现为Typecho插件实现添加文章目录的功能,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以参考一下
    2023-02-02
  • PHP开发环境配置(MySQL数据库安装图文教程)

    PHP开发环境配置(MySQL数据库安装图文教程)

    下载完软件后开始PHP开发环境的配置。注意是开发环境,不是服务器环境。
    2010-04-04
  • 基于PHP的微信公众号的开发流程详解

    基于PHP的微信公众号的开发流程详解

    这篇文章主要介绍了基于PHP的微信公众号的开发流程详解,文章通过示例代码和服务器及菜单配置的图文讲解介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 编写php应用程序实现摘要式身份验证的方法详解

    编写php应用程序实现摘要式身份验证的方法详解

    本篇文章是对编写php应用程序实现摘要式身份验证的方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP Token(令牌)设计

    PHP Token(令牌)设计

    PHP Token(令牌)设计 设计目标: 避免重复提交数据. 检查来路,是否是外部提交 匹配要执行的动作(如果有多个逻辑在同一个页面实现,比如新增,删除,修改放到一个PHP文件里操作) 这里所说的token是在页面显示的时候,写到FORM的一个隐藏表单项(type=hidden). token不可明文,如果是明文,那就太危险了,所以要采用一定的加密方式.密文要可逆.俺算法很白痴,所以采用了网上一个现成的方法.
    2008-03-03
  • php防止站外远程提交表单的方法

    php防止站外远程提交表单的方法

    这篇文章主要介绍了php防止站外远程提交表单的方法,实例演示了通过session与验证码进行提交过滤的方法,非常实用,需要的朋友可以参考下
    2014-10-10
  • PHPWind与Discuz截取字符函数substrs与cutstr性能比较

    PHPWind与Discuz截取字符函数substrs与cutstr性能比较

    PHP性能优化系列第四期实战篇,如何使用PEAR Benchmark类工具获取函数执行性能,这里以PHPWind与Discuz!两个社区论坛的截取字符函数substrs与cutstr为例,分析两个函数的执行性能情况
    2011-12-12
  • PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程

    PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程

    这篇文章主要介绍了PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程,是非常常见的一个重要功能,常用于论坛注册部分或会员注册部分,需要的朋友可以参考下
    2014-08-08

最新评论