zoukankan      html  css  js  c++  java
  • 2.7校验和与核实

    校验和(checksum)程序用来从文件中生成检验和秘钥,然后利用这个校验和秘钥核实文件的完整性。

    用于文件完整性测试的特定秘钥就称为校验和。

    校验和对于编写备份脚本或系统维护脚本来说非常重要。
    1、最知名且使用最为广泛的校验和技术是md5sum和SHA-1。他们对文件内容使用相应的算法来生成校验和。

    2、为了计算md5sum,使用下面命令:

    $md5sum filename

    68b329da9893e34099c7d8ad5cb9c940 filename

    如上所示,md5sum是一个32个字符的十六进制。

    将输出的校验和重定向到一个文件,然后用这个MD5文件核实数据的完整性。

    $md5sum filename >file_sum.md5

    3、工作原理

    md5sum校验和计算的方法如下:

    $md5sum file1 file2 file3 ..

    当使用多个文件时,输出中会在每行中包含单个文件的校验和:

    [checknum1]  file1

    [checknum1]  file2

    [checknum1]  file3

    用下面的方法用生成的文件核实数据完整性:

    $md5sum -c file_sum.md5

    #这个命令会输入校验和是否匹配的消息

    如果需要用所有的.md5信息来检查所有的文件,可以使用

    $md5sum -c *.md5

    与md5sum类似,SHA-1是另一种常用的校验和算法,它对应的命令和文件是sha1sum和file_sum.sha1

    4、补充内容

    核实多个文件

    对目录进行校验

    校验和是从文件中计算得来的,对目录计算校验和意味着我们需要对目录中的所有文件进行递归的方式进行计算。

    可以用命令md5deep或sha1deep来实现。首先需要安装md5deep软件包以确保能找到这些命令。如下

    $md5deep -r1 directory_path > directory.md5

    #-r使用递归的方式

    #-1使用相对路径。默认情况下,md5deep会输出文件的绝对路径.

    也可以结合find来递归计算校验和

    $find directory_path -type f -print0 |xargs -0 md5sum >>directory.md5

    用下面的命令进行核实

    $md5sum -c directory.md5

  • 相关阅读:
    有点忙啊
    什么是协程
    HDU 1110 Equipment Box (判断一个大矩形里面能不能放小矩形)
    HDU 1155 Bungee Jumping(物理题,动能公式,弹性势能公式,重力势能公式)
    HDU 1210 Eddy's 洗牌问题(找规律,数学)
    HDU1214 圆桌会议(找规律,数学)
    HDU1215 七夕节(模拟 数学)
    HDU 1216 Assistance Required(暴力打表)
    HDU 1220 Cube(数学,找规律)
    HDU 1221 Rectangle and Circle(判断圆和矩形是不是相交)
  • 原文地址:https://www.cnblogs.com/gary-guo/p/6121167.html
Copyright © 2011-2022 走看看