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

php中文网
发布: 2016-06-16 08:41:34
原创
1656人浏览过

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 系统使用这个加密算法来储存密码, 这个模块真正也就只在检查这样的密码时有用。

立即学习Python免费学习笔记(深入)”;

如下实例,展示了如何使用 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:关于加密技术,本站还提供了如下加密工具供大家参考使用:

百宝箱
百宝箱

百宝箱是支付宝推出的一站式AI原生应用开发平台,无需任何代码基础,只需三步即可完成AI应用的创建与发布。

百宝箱 911
查看详情 百宝箱

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

相关标签:
python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号