您好,欢迎访问一九零五行业门户网

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

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     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         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 crypt
import random,string
def getsalt(chars = string.letters+string.digits):
    return random.choice(chars)+random.choice(chars)
salt = getsalt()
print salt
print crypt.crypt('bananas',salt)
ps:关于加密技术,本站还提供了如下加密工具供大家参考使用:
md5在线加密工具:http://tools.jb51.net/password/createmd5password
escape加密/解密工具:http://tools.jb51.net/password/escapepwd
在线sha1加密工具:http://tools.jb51.net/password/sha1encode
短链(短网址)在线生成工具:http://tools.jb51.net/password/dwzcreate
短链(短网址)在线还原工具:http://tools.jb51.net/password/unshorturl
高强度密码生成器:http://tools.jb51.net/password/createstrongpassword
其它类似信息

推荐信息