python的加密模块(md5,sha,crypt)学习
来源:互联网 发布:变革管理 知乎 编辑:程序博客网 时间:2024/05/16 10:27
python的加密模块(md5,sha,crypt)学习
md5(Message-Digest Algorithm 5) 模块用于计算信息密文(信息摘要),得出一个128位的密文。sha模块跟md5相似,但生成的是160位的签名。使用方法是相同的。
如下实例是使用md5的:
# /usr/bin/python# -*- coding:utf-8 -*-import base64try: import hashlib hash = hashlib.md5()except ImportError: # for Python << 2.5 import md5 hash = md5.new()hash.update('spam,spam,and egges')value = hash.digest()print repr(value) #得到的是二进制的字符串print hash.hexdigest() #得到的是一个十六进制的值print base64.encodestring(value) #得到base64的值
# /usr/bin/python# -*- coding:utf-8 -*-# 客户端与服务器端通信的信息的验证import stringimport randomdef getchallenge(): challenge = map(lambda i: chr(random.randint(0,255)),range(16)) return string.join(challenge,"")def getresponse(password,challenge): try: import hashlib hash = hashlib.md5() except ImportError: # for Python << 2.5 import md5 hash = md5.new() hash.update(password) hash.update(challenge) return hash.digest()print "client: ","connect"challenge= getchallenge()print "server: ",repr(challenge)client_response = getresponse("trustno1",challenge)print "client: ",repr(client_response)server_response = getresponse("trustno1",challenge)if client_response == server_response: print "server:","login ok"
crypt 模块(只用于 Unix)实现了单向的 DES 加密, Unix 系统使用这个加密算法来储存密码, 这个模块真正也就只在检查这样的密码时有用.
如下实例 展示了如何使用 crypt.crypt 来加密一个密码, 将密码和 salt组合起来然后传递给函数, 这里的 salt 包含两位随机字符.现在你可以扔掉原密码而只保存加密后的字符串了.
# /usr/bin/python# -*- coding:utf-8 -*-import cryptimport random,stringdef getsalt(chars = string.letters+string.digits): return random.choice(chars)+random.choice(chars)salt = getsalt()print saltprint crypt.crypt('bananas',salt)
0 0
- python的加密模块(md5,sha,crypt)学习
- python----MD5加密,crypt加密加salt
- python的crypt模块
- md5加密和sha加密的使用
- python md5 加密模块
- Python的MD5和SHA
- 实现MD5和SHA加密的类
- MD5,MD2,SHA加密的实现方式
- SHA-1 加密(与MD5的区别)
- 各种常用的加密(MD5,SHA,)
- MD5/SHA 加密处理
- MD5+SHA+BASE64加密
- MD5和SHA加密
- MD5和SHA加密
- 加密之SHA,MD5
- php 的加密函数 md5,crypt,base64_encode 等使用介绍
- MD5加密与SHA加密
- SHA加密与MD5加密的区别与选择
- HDU 1022 栈
- 第十二周项目1——图基本算法库
- 第十二周上机实践—项目3—图遍历算法实现
- eclipse上单步调试Hive
- 第十二周 项目一 图基本算法库
- python的加密模块(md5,sha,crypt)学习
- 查看进程信息
- 第十周项目2 二叉树遍历的递归算法
- Android中dp和px的关系
- 第11周 项目1 - 二叉树算法验证(2)
- Memory Networks的阶段总结
- 线性表5 – 数据结构和算法10
- bootstrap-treeview 前台使用
- Objective-c的category(分类)和Extension(扩张)