码迷,mamicode.com
首页 > 编程语言 > 详细

python—收集系统信息

时间:2018-01-12 15:59:23      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:import   cat   col   rgb   pen   脚本   index   user   follow   

1.1  hashlib模块使用

方法一:先实例化一个对象,再使用update做校验,最后十六进制查看hexdigest

In [3]: import hashlib

In [5]: md5 = hashlib.md5()

In [6]: md5.update("a")

In [7]: md5.hexdigest()

Out[7]: '0cc175b9c0f1b6a831c399e269772661'

技术分享图片

与shell下一致,-n 不加换行符时

[root@huangzp3 python]# echo "a"|md5sum

60b725f10c9c85c70d97880dfe8191b3  -

[root@huangzp3 python]# echo -n "a"|md5sum

0cc175b9c0f1b6a831c399e269772661  -


说明:更新,实际为ab\n的值

In [8]: md5.update("b\n")

In [9]: md5.hexdigest()

Out[9]: 'daa8075d6ac5ff8d0c6d4650adb4ef29'


对比shell,哈希值一样

[root@huangzp3 python]# echo "ab"|md5sum

daa8075d6ac5ff8d0c6d4650adb4ef29  -


方法二:字符串短时,直接调用

In [10]: hashlib.md5("hello").hexdigest()

Out[10]: '5d41402abc4b2a76b9719d911017c592'


脚本:

#!/usr/bin/env python
import sys
import hashlib
import codecs
def getMd5(f):
    md5 = hashlib.md5()
    with codecs.open(f) as fd:
        while True:
            data = fd.read(4096)
            if data:
                md5.update(data)    #每读一次,获取一次md5值,MD5值累加
            else:
                break
        return md5.hexdigest()
if __name__ == "__main__":
    try:
        print getMd5(sys.argv[1])
    except IndexError:
        print ("%s follow a argument" % __file__)

运行结果:

[root@huangzp3 python]# python 01.py 1.py

e796a8f418fa90d7e4f0a162119f114a

[root@huangzp3 python]# cat 1.py |md5sum

e796a8f418fa90d7e4f0a162119f114a  -



python—收集系统信息

标签:import   cat   col   rgb   pen   脚本   index   user   follow   

原文地址:http://blog.51cto.com/huangzp/2060269

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!