Py学习  »  Python

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

懒人在思考 • 6 年前 • 550 次点击  

我们经常要下载各种软件,你会注意到很多好软件的下载页面都会注明这个软件的哈希值,比如 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

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

今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/weixin/SG5SxWDIFs
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/2016
 
550 次点击