PHP 文件校验 文件的 MD5 散列值
PHP MD5 散列值 应用场景:
1、校验文件的完整性 可用于服务器文件的备份处理。
2、检验文件的重复性 去除服务器上传文件的重复,占用额外空间的问题。
3、校验文件是否被篡改 下载网站,多会放置MD5校验码,用于校验文件。
PHP校验代码
<?php
/*** Created by PhpStorm.* User: kungyu* Date: 2015/12/11* Time: 15:13*/function check_file_md5($file1,$file2){$data['status'] = 2;$data['file_md5_1'] = md5_file($file1);$data['file_md5_2'] = md5_file($file2);$data['desc'] = "{$file1} 和 {$file2} 文件不相同";if($data['file_md5_1'] == $data['file_md5_2']){$data['status'] = 1;$data['desc'] = "{$file1} 和 {$file2} 文件相同";}return $data;
}$dir = dirname(__FILE__);
$file1 = $dir.'/kung.doc';
$file2 = $dir.'/kung_bak.doc';
$file3 = $dir.'/kung_ba.doc';
$result = check_file_md5($file1,$file2);
var_dump($result);
$result = check_file_md5($file1,$file3);
var_dump($result);
结果输出:
注:测试文件中,kung_ba.doc 是kung.doc的复本,kung_bak.doc是kung.doc删除一个文字的复本。
PHP 文件校验 文件的 MD5 散列值相关推荐
- 文本的DES加密 MD5散列值 DSA的数字签名
作者:未知 文本的DES加密 为了对称加密的安全,将密码进行封装,先新建一个用于保存密码的类库cl: using System; using System.Text ; namespace cl { ...
- 服务器散列值与文件,服务器计算的散列值和客户端安全
服务器计算的散列值和客户端安全 内容精选 换一换 执行adc命令,系统内部通过ADC与运行环境上的ADA的交互,实现文件传输.设置日志级别.心跳检测等功能,在ADC与ADA交互时,涉及使用密钥证书实现 ...
- Shiro框架:Shiro简介、登陆认证入门程序、认证执行流程、使用自定义Realm进行登陆认证、Shiro的MD5散列算法
一.Shiro介绍: 1.什么是shiro: (1)shiro是apache的一个开源框架,是一个权限管理的框架,实现用户认证.用户授权. (2)spring中有spring security,是一个 ...
- SHA1/MD5散列算法实现(C语言)
一.实验目的 通过实际编程了解MD5算法的加密和解密过程,加深对Hash算法的认识. 二.实验原理 Hash函数是将任意长的数字串转换成一个较短的定长输出数字串的函数,输出的结果称为Hash ...
- MD5散列算法原理及实现
目录 一.什么是MD5 二.MD5的功能 三.抗膨胀性 四.可逆性 五.MD5是 加密算法吗? 六.MD5用途 1.防止被篡改 2.防止明文读取. 3.防止抵赖 七.MD5算法过程 主要过程描述 第一 ...
- 【渗透测试笔记】之【内网渗透——Windows系统散列值获取与防范】
拓扑图 Windows系统散列值获取 1.通过CS模块获取用户凭证信息 在获取到目标主机权限后,我们可以抓取hash和dump明文密码,这两项功能都需要管理员权限,如果权限不足,先要进行提权操作. 抓 ...
- java上传文件校验文件后缀名、文件大小、文件名字【非常详细】
废话不多说,直接上代码 这个是公共方法,在需要上传的接口controller中调用即可 @PostMapping("/upload")public R upload(Multipa ...
- 密码加密解密(七)——MD5散列算法实现
Hash函数是将任意长的数字串转换成一个较短的定长输出数字串的函数,输出的结果称为Hash值.Hash函数具有如下特点: (1)快速性:对于任意一个输入值x,由Hash函数H(x),计算Hash值y, ...
- java后端上传文件校验文件后缀
一.获取文件后缀 // 1.获取文件名 String fileName = file.getOriginalFilename(); // 2.获取后缀 String suffixName = file ...
最新文章
- R 循环中将变量作为对象名
- python3.X 使用schedule实现定时任务
- DL之ResNeXt:ResNeXt算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
- Windows与Linux系统拷贝文件之pscp的使用
- serialversionuid的作用_为什么阿里Java规约要求谨慎修改serialVersionUID字段
- linux shell ls -l,linux之ls -l|grep ^-|wc -l命令 Shell 中常見的日志統計方法
- 翼城中学2021高考成绩查询入口,2021年临汾中考分数线查询(4)
- 2018-04-08Java编程夯实学习心得(2)
- linux date -s_Linux炫技:左手密码生成器,解放右手生产力
- gitlab mysql 坑_gitlab迁移和踩坑
- 2021财经直播系统源码 H5直播聊天室 金融财经 喊单系统 股票外汇直播间
- 全国计算机城市排名,这五大城市教育资源全国领先,各城市优质高校排行榜一定要收藏!...
- 可以边玩游戏边学编程的手游盘点
- 文件服务器批量权限修改,服务器文件批量权限设置权限
- 深度学习——目标定位
- java-Stringbuffer
- linux下fdisk命令实战案例之详解
- Hololens2开发入门(一)环境搭建
- windows子系统ubuntu远程桌面连接
- 智能手机硬件加速及虚拟内存利弊分析
热门文章
- 超详细Kafka架构原理图(观止)
- 今日话题:百度整改宣布完成,莆田系呢?
- UE5遇到255错误代码:ShaderCompileWorker Win64 Development -Quiet“ -WaitMutex -FromMsBuild已 退出,代码为 255。
- Cocos2d-X 3.4版-怪物的AI《赵云要格斗》
- 禾赛科技获得新融资背后:缺钱又缺爱,花钱求人和解专利官司
- 如何快速看懂一个项目
- 鹅厂文档解密:天涯明月刀服务器架构设计揭秘
- 速云群发简约HTML官网源码
- java v7_java7下载 v7.0 官方最新版
- 【QQ音乐Api】移花接木 打造自己的音乐电台