Python一句话校验软件Hash值

转载余弦大大的一篇文章

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

原创: 余弦 懒人在思考   

我们经常要下载各种软件,你会注意到很多好软件的下载页面都会注明这个软件的哈希值,比如 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 哈希校验小工具,不过有这样的一句话,小工具就无所谓了。

 

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

 

PS:推荐一波余弦大大的公众号

转载来源:余弦公众号懒人在思考

posted @ 2018-06-01 11:30  Id3al  阅读(369)  评论(1)    收藏  举报