我是如何 Python 一句话校验软件哈希值的

信息安全 3696 Views

我们经常要下载各种软件,你会注意到很多好软件的下载页面都会注明这个软件的哈希值,比如 Shadowsocks:

https://github.com/shadowsocks/shadowsocks-windows/releases

你可以看到几个哈希值:MD5、SHA-1、SHA-256、SHA-512(这几个哈希的安全性也是如此递增的)。

现在,我们下载了 Shadowsocks,如何在本地校验呢?网上各种工具不少,但是放心的有多少?如果你和我一样是 Python 党,那就简单了,一句话就可以优雅地搞定这种校验。

MD5

python -c "import hashlib,sys;print hashlib.md5(open(sys.argv[1],'rb').read()).hexdigest()" Shadowsocks.exe

SHA-1

python -c "import hashlib,sys;print hashlib.sha1(open(sys.argv[1],'rb').read()).hexdigest()" Shadowsocks.exe

SHA-256

python -c "import hashlib,sys;print hashlib.sha256(open(sys.argv[1],'rb').read()).hexdigest()" Shadowsocks.exe

SHA-512

python -c "import hashlib,sys;print hashlib.sha512(open(sys.argv[1],'rb').read()).hexdigest()" Shadowsocks.exe

效果如图:

通过这样的一句话就可以生成对应的哈希值。一对比,如果哈希值不一样,那就知道你下载的软件被“中间人”动过手脚了:-)

这个小技巧我用了很久了,也写了个 Python 哈希校验小工具,不过有这样的一句话,小工具就无所谓了。

题外话下,之后无论发生什么大事,比如“方程式被泄露事件”下个月开始又会来些大招,如果有些东西放出了,记得校验下哈希值,因为这个江湖险恶。

—————–

微信公众号「Lazy-Thought

几个黑客在维护,都很懒,都想改变点什么

如未说明则本站原创,转载请注明出处:NULL » 我是如何 Python 一句话校验软件哈希值的