Python取证技术(2): hash生成

在计算机取证中,经常会对文件计算hash,常用的hash有md5、sha256等等。pyhon中提供了hashlib库,让我们可以很方便的使用hash函数。

先通过一个实例来让大家了解怎样使用python的hashlib库。

import hashlib   #导入hash库

Text   = "This is Test"
md5    = hashlib.md5()
sha256 = hashlib.sha256()

# 输出生成的hash
md5.update(Text)
sha256.update(Text)

print "md5:" + md5.hexdigest()
print "sha256" + sha256.hexdigest()

输出结果:

md5:ba5e658e8787abe7f6bc473169e566aa 
sha256:c0944b5a36476a91b39dee68df2432eae4565c315cfe870a9f951ca643abfb61

计算文件hash

计算文件hash也是大同小异。读取文件内容,然后计算这段内容的hash。计算整块硬盘或多个文件的hash同理。

import hashlib
# 计算单个文件hash
def CalcHash(filepath):
    with open("c:\test.txt") as f:
        data = f.read()
        md5hash = hashlib.md5.update(data)
        return md5hash.hexdigest()

签名工具

gpg是linux系统上免费的加密解密和签名工具。如果我们把取证过程中计算出的hash保存到一个文件,没有任何保护,很容易被修改。这时我们可以用gpg的签名功能来保证文件不被修改,一旦被修改,数字证书就失效。

如果是第一次使用,我们要先生成自己的密钥。输入命令

gpg --gen-key

根据屏幕中的提示一步步创建密钥,使用clearsign选项生成ASCII码存放的数字证书。

gpg --clearsign test.txt 

gpg更多的用法,点这里

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 计算文件hash
  2. 2. 签名工具
,