Python的加密模块md5、sha、crypt使用实例

819次阅读  |  发布于5年以前

MD5(Message-Digest Algorithm 5) 模块用于计算信息密文(信息摘要),得出一个128位的密文。sha模块跟md5相似,但生成的是160位的签名。使用方法是相同的。

如下实例是使用md5的:

复制代码 代码如下:

/usr/bin/python

-- coding:utf-8 --

import base64
try:
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 string
import random

def 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"

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8