• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >linux shell > 同一个文件在windows和linux下计算md5哈希不一致的原因及解决方法

同一个文件在windows和linux下计算md5哈希不一致的原因及解决方法

作者:jingxian 字体:[增加 减小] 来源:互联网

jingxian 通过本文主要向大家介绍了md5哈希值,md5哈希,md5哈希算法,md5哈希函数,windows 2012 哈希抓等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

最近项目需要,需要对客户传过来的文件进行MD5校验,在实现的过程中前前后后遇到了若干问题,在这里总结一下。

md5的计算采用openssl实现,具体代码网上很多,这里不再赘述。需要注意的问题

1 读取文件内容时,文件打开方式要用二进制方式(rb),因为用户文件有可能是linux格式,如果用文本方式打开,可能会改变原始的内容,造成计算不准。

2 结果检验。windows可以随便下载一个md5计算工具,网上很多,我用的是HashMyFiles。linux下面,md5sum 文件名 即可。

还有一个隐藏得问题需要注意,我们在这里好一阵郁闷。

程序编写完毕,再windows测试都通过了,把文件上传到linux,再运行程序,居然算出来的md5哈希和windows不一样。

经过一阵跟踪、断点、打印发现,文件上传到linux后,大小居然发生了变化,原来问题出在ftp,ftp上传得过程中采用了文本模式,会把文件中换行回车替换为换行。于是重新用二进制模式上传,计算结果一致,问题解决。

总结一下:文件打开读取要用二进制方式,文件传输也要用二进制方式。

以上这篇同一个文件在windows和linux下计算md5哈希不一致的原因及解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

</div>

您可能想查找下面的文章:

  • 同一个文件在windows和linux下计算md5哈希不一致的原因及解决方法

相关文章

  • CentOS 6.x系统升级Python到2.7版本的Shell脚本分享
  • shell脚本学习指南[五](Arnold Robbins & Nelson H.F. Beebe著)
  • C语言实现的ls命令源码分享
  • 一个监控网卡流量的shell脚本
  • Shell使用Epoch进行日期时间转换和计算的几个小函数
  • Shell中的变量使用小结
  • 获取站点的各类响应时间(dns解析时间,响应时间,传输时间)
  • Linux下查找后门程序 CentOS 查后门程序的shell脚本
  • Ubuntu配置NFS的具体流程(推荐)
  • Shell实现的Oracle启动脚本分享

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Shell 函数参数
    • 实例详解Linxu中df命令
    • shell两个文件去重的多种姿势
    • Linux下启动tomcat的方法
    • shell 字符串操作(长度,查找,替换)详解
    • Linux启动新进程的三种方法
    • Linux Shell脚本系列教程(七):脚本调试
    • 后台实时分流文件的shell脚本
    • Linux 分区初始化为物理卷,把物理卷加入卷组的方法
    • 一些Linux Shell中的权限相关知识总结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有