当前位置: 首页 > 编程笔记 >

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

桑飞语
2023-03-14
本文向大家介绍Python的加密模块md5、sha、crypt使用实例,包括了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 << 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

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

 类似资料:
  • 没有用第三方类库,实现md5常规加密、md5二次加密、sha1、sha256、sha384、sha512加密。 作者说:新手可以参照代码学习ios的加密实现。使用详解:http://developerpan.blog.51cto.com/blog/7454463/1254875 [Code4App.com]

  • 本文向大家介绍java中加密的实现方法(MD5,MD2,SHA),包括了java中加密的实现方法(MD5,MD2,SHA)的使用技巧和注意事项,需要的朋友参考一下 java中加密的实现方法(MD5,MD2,SHA)      实例代码:注释都很清楚, 输出结果:  以上就是java 加密的实例,如疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • 有没有办法将PostgreSQL密码加密方法从MD5更改为SHA? 如果是,你能告诉我怎么做吗? 我正在使用PostgreSQL 9.5

  • 本文向大家介绍python中的hashlib和base64加密模块使用实例,包括了python中的hashlib和base64加密模块使用实例的使用技巧和注意事项,需要的朋友参考一下 看到好几位博主通过对模块的各个击破学习python,我也效法一下,本篇说一下python中加密涉及到的模块。 hashlib hashlib模块支持的加密算法有md5 sha1 sha224 sha256 sha38

  • 本文向大家介绍Python使用MD5加密字符串示例,包括了Python使用MD5加密字符串示例的使用技巧和注意事项,需要的朋友参考一下 Python加密模块有好几个,但无论是哪种加密方式都需要先导入相应的加密模块然后再使用模块对字符串加密。 先导入md5加密所需模块: 创建md5对象 生成加密串,其中 password 是要加密的字符串 获取加密串 输出 执行: 为了方便,我们可以写成函数,直接传

  • 问题内容: 在IDLE和Python版本3.3.2中,我尝试像这样调用python模块: 我将其导入程序顶部,如下所示: 我得到的结果如下: 但是,当我使用Python 2.7.3在Ubuntu中执行同一文件时,它执行得很好-没有错误。 我尝试了以下方法来解决Windows&Python 3.3.2的问题(尽管我确定操作系统不是问题,但Python版本或语法的使用才是问题): 将目录中的目录从重命