国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python的加密模塊md5、sha、crypt使用實例

2020-02-23 05:53:50
字體:
來源:轉載
供稿:網友

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"

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万全县| 商洛市| 丽江市| 宝鸡市| 锡林浩特市| 岱山县| 娱乐| 江津市| 双城市| 临安市| 潍坊市| 禹州市| 郓城县| 克拉玛依市| 龙山县| 蒲城县| 大冶市| 宁河县| 施秉县| 太和县| 彩票| 堆龙德庆县| 扬中市| 新蔡县| 墨脱县| 施甸县| 定日县| 福泉市| 潜山县| 松阳县| 龙江县| 调兵山市| 扎兰屯市| 肇州县| 新田县| 宝清县| 绥中县| 蓬莱市| 平江县| 雅安市| 晋宁县|