如何判断从本机上传到服务器的文件数据内容是一致的?用md5加密算法!

问题场景

最近在帮导师做横向,我想把整个项目环境放到服务器中,需要把一个很大的数据文件传到服务器,传上去很方便,但是涉及到文件的压缩上传和服务器内解压环节,不是太确定文件在本机和服务器的数据内容是否一致。


解决思路

可以利用md5算法,全称是Message-Digest Algorithm 5,即信息摘要算法。
md5算法有以下特点:

  • 压缩性:任意长度的数据,算出的MD5值长度都是固定的。
  • 容易计算:从原数据计算出MD5值很容易。
  • 抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
  • 强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。

实现步骤

假定本机是windows环境,服务器为linux环境。

  1. 在本机上打开powershell( 一定得是powershell打开,不能是简单的cmd)
  2. 到需要检验是否一致的文件所在目录
  3. 输入GetFile-Hash + 文件名,得到md5算法加密后的序列
    在这里插入图片描述
  4. 在服务器上,到需要检验是否一致的文件所在目录
  5. 输入sha256sum + 文件名,得到md5算法加密后的序列
    在这里插入图片描述
  6. 对比本机和服务器上得到的md5加密序列,如果一模一样(忽略大小写),则数据内容是一致的,如果有任何地方存在不一样的,则数据内容不完全一致。

你可能感兴趣的:(#,服务器,运维)