Python的加密模块md5、sha、crypt使用实例
如下实例是使用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
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
推荐阅读
-
php 的加密函数 md5,crypt,base64_encode 等使用介绍
-
在Python中使用M2Crypto模块实现AES加密的教程
-
Python使用pygame模块编写俄罗斯方块游戏的代码实例
-
python的Crypto模块实现AES加密实例代码
-
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
-
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
-
Python使用urllib2模块抓取HTML页面资源的实例分享
-
Python语言检测模块langid和langdetect的使用实例
-
Python英文文本分词(无空格)模块wordninja的使用实例
-
Python3.5基础之NumPy模块的使用图文与实例详解
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论