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

 更新时间:2014年09月28日 11:04:14   作者:mingaixin  
这篇文章主要介绍了Python的加密模块md5、sha、crypt使用实例,本文给出了MD5和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

相关文章

  • Python版的文曲星猜数字游戏代码

    Python版的文曲星猜数字游戏代码

    最近开始研究python,于是写了个Python版的文曲星猜数字游戏,喜欢的朋友可以参考下
    2013-09-09
  • Bottle框架中的装饰器类和描述符应用详解

    Bottle框架中的装饰器类和描述符应用详解

    这篇文章主要介绍了Bottle框架中的装饰器类和描述符应用详解,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • 详解Python的三种拷贝方式

    详解Python的三种拷贝方式

    Python中有三种拷贝方式分别是浅拷贝、深拷贝和赋值拷贝,这篇文章通过实例代码给大家介绍了Python的三种拷贝方式,需要的朋友可以参考下
    2020-02-02
  • Python使用Pandas处理测试数据的方法

    Python使用Pandas处理测试数据的方法

    Pandas是一个功能极其强大的数据分析库,可以高效地操作各种数据集,这篇文章主要介绍了Python自动化测试-使用Pandas来高效处理测试数据,需要的朋友可以参考下
    2023-02-02
  • python实现文件助手中查看微信撤回消息

    python实现文件助手中查看微信撤回消息

    这篇文章主要为大家详细介绍了python实现文件助手中查看微信撤回消息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • allure结合python生成测试报告教程

    allure结合python生成测试报告教程

    这篇文章主要介绍了allure结合python生成测试报告教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Python入门之三角函数atan2()函数详解

    Python入门之三角函数atan2()函数详解

    这篇文章主要介绍了Python入门之三角函数atan2()函数详解,分享了其实例,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • python基于pyppeteer制作PDF文件

    python基于pyppeteer制作PDF文件

    这篇文章主要介绍了python基于pyppeteer制作PDF文件的方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • 教你怎么用Python生成九宫格照片

    教你怎么用Python生成九宫格照片

    过年过节大家的朋友圈是不是特别热闹,每当小编看见朋友圈有这种九宫格的照片就觉得特别秀,一直想自己什么时候也能来秀一个,所以直接拿这个练练手,酷炸朋友圈一波,直接进入主题,需要的朋友可以参考下
    2021-05-05
  • python数字类型和占位符详情

    python数字类型和占位符详情

    这篇文章主要介绍了ython数字类型和占位符详情,文章围绕主题展开全文详细内容,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-03-03

最新评论