# -*- coding: utf-8 -*-

"""python 的MD5 sha1 模块"""

import hashlib

#md5的例子
m = hashlib.md5()
m.update(b"Hello 123")
m.update(b" Hello 456")
print(m.digest()) #字节串
print(m.hexdigest())#字符串
print(m.digest_size)#
print(m.block_size)#
#也可以一次处理
print(hashlib.md5(b"Hello 123 Hello 456").hexdigest()) """模块函数
hashlib.new(name[,data]) name:算法的名字 data:字节数据
hashlib.algorithms_guaranteed 所有平台支持的算法
{'sha1', 'sha256', 'sha384', 'md5', 'sha512', 'sha224'}
hashlib.algorithms_available 返回python可用的算法,可用于new(),guaranteed是它的子集
{'RIPEMD160', 'sha1', 'sha256', 'SHA256', 'sha', 'dsaEncryption', 'MD5', 'SHA224',
'SHA384', 'DSA-SHA', 'dsaWithSHA', 'sha224', 'md4', 'MD4', 'whirlpool', 'SHA', 'sha384',
'ripemd160', 'md5', 'SHA1', 'sha512', 'DSA', 'SHA512', 'ecdsa-with-SHA1'} hash对象属性
hash.digest_size 结果的大小
hash.block_size 块大小
hash.name 名字
hash.update(arg) 看例子
hash.digest() 字节串
hash.hexdigest() 字符串
hash.copy() 返回hash对象的拷贝 用于密码加密
hashlib.pbkdf2_hmac(hash_name, password, salt, iterations, dklen=None)
hash_name 算法名称
password 要加密的密码
salt 建议16字节或更长
iterations 迭代次数,取决于算法和计算能力,
dklen 结果长度
返回值是字节串
""" #测试迭代用时
#100000 0.0625 秒出结果
#1000000 0.63 小卡一下
#10000000 6.2 不可接受
#...
#10000000000 超出最大值 import binascii
from datetime import datetime
t1 = datetime.now()
dk = hashlib.pbkdf2_hmac('md5', b'password', b'salt', 100000)
t2 = datetime.now()
t = (t2 - t1).seconds + (t2 - t1).microseconds / 1000000
print(t)
m = binascii.hexlify(dk)
print(m)

python的hashlib模块的更多相关文章

  1. 《Python》hashlib模块、configparser模块、logging模块

    一.hashlib模块 Python的hashlib模块中提供了常见的摘要算法,如md5,sha1等等. 摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的字符串(通 ...

  2. python中hashlib模块用法示例

    python中hashlib模块用法示例 我们以前介绍过一篇Python加密的文章:Python 加密的实例详解.今天我们看看python中hashlib模块用法示例,具体如下. hashlib ha ...

  3. 通过python的hashlib模块计算一个文件的MD5值

    Python的hashlib提供了很多摘要算法,如MD5,SHA1等常用算法. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(如MD5值 ...

  4. Python中hashlib模块

    介绍hashlib hashlib 是一个提供了一些流行的hash算法的 Python 标准库.其中所包括的算法有 md5, sha1, sha224, sha256, sha384, sha512. ...

  5. python基础--hashlib模块

    hashlib模块用于加密操作,代替了md5和sha模块, 主要提供SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法. # -*- coding:utf-8 - ...

  6. Python之hashlib模块的使用

    hashlib模块主要的作用: 加密保护消息安全,常用的加密算法如MD5,SHA1等. 1.查看可用的算法有哪些 #!/usr/bin/env python # -*- coding: utf-8 - ...

  7. python(6)- hashlib模块

    加密算法: SHA1,SHA224, SHA256, SHA384, SHA512 , MD5 1. md5 import hashlib m = hashlib.md5() m.update(b&q ...

  8. python之hashlib模块(MD5校验)

    示例:大文件md5校验 def md5(fileMd5): import hashlib md5_value = hashlib.md5() with open(fileMd5,'rb') as f: ...

  9. Python之hashlib模块

    hashlib 在做一个授权管理系统,需要生产动态生成密码,故使用hashlib >>> import time >>> import hashlib >&g ...

随机推荐

  1. ChatCell

    import UIKit let chatCellHeight: CGFloat = 72 let chatCellInsetLeft =  chatCellHeight + 8 class Chat ...

  2. poj 2777Count Color

    http://poj.org/problem?id=2777 注意:a可能比b大 #include <cstdio> #include <cstring> #include & ...

  3. MVC与三层架构的区别

    我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念.下面我来为大家揭晓我所知道的一些真相. 首先,它俩根本不是一个概念. 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目. ...

  4. 【转】第 02 天:在 Windows 平台必裝的三套 Git 工具

    原文网址:https://github.com/doggy8088/Learn-Git-in-30-days/blob/master/docs/02%20%E5%9C%A8%20Windows%20% ...

  5. MVC加载view的方式

    主要有 Html.ActionLink Html.RenderPartial Html.RenderAction Html.Partial Ajax.ActionLink load 浏览器对象模型 ( ...

  6. windows 编程—— 头文件 指引

    定义    相关头文件 #define UNICODE  <WINUSER.h> <WINNT.h>  <WINBASE.h> #define _UNICODE   ...

  7. NIO Socket非阻塞模式

    NIO主要原理和适用 NIO 有一个主要的类Selector,这个类似一个观察者,只要我们把需要探知的socketchannel告诉Selector,我们接着做别的事情,当有 事件发生时,他会通知我们 ...

  8. POJ 1458-Common Subsequence(线性dp/LCS)

    Common Subsequence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 39009   Accepted: 15 ...

  9. 奇妙的go语言(网页下载)

    [ 声明:版权全部,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 眼下,网上关于网页爬行的代码非常多.可是,自从看了go语言的web下载代码之后,我才发现原来它 ...

  10. [转] The Single Biggest Obstacle to Trading Success

    Why do some people succeed spectacularly in the market while others fail? The market is the same for ...