国产探花免费观看_亚洲丰满少妇自慰呻吟_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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 文昌市| 徐闻县| 曲靖市| 霞浦县| 鄂伦春自治旗| 弋阳县| 凤山县| 馆陶县| 武穴市| 丰宁| 哈尔滨市| 大厂| 外汇| 拉孜县| 临江市| 舟曲县| 内乡县| 肃南| 红河县| 天全县| 贵州省| 香港| 仙居县| 晋城| 新津县| 江北区| 璧山县| 土默特左旗| 泗洪县| 于田县| 郧西县| 兰西县| 广水市| 敦化市| 河津市| 自治县| 苍溪县| 宜丰县| 大连市| 遵化市| 玉溪市|