# -*- 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. Chapter 2. OpenSSL的安装和配置学习笔记

    Chapter 2. OpenSSL的安装和配置学习笔记 2.1 在linux上面安装OpenSSL我还是做点No paper事情比较在行,正好和老师的课程接轨一下.以前尝试过在Windows上面安装 ...

  2. Mahout

    http://blog.csdn.net/yueyedeai/article/details/26567379

  3. JAVA抽象类,接口,多态,抽象方法,一次列举

    HEAD FIRST这系列的书,真的让人产生阅读的快感~~:) 和那套明日科技的一样,.. interface Nose { public int iMethod(); } abstract clas ...

  4. jquery.metadata.js使用分析

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. Understanding GC pauses in JVM, HotSpot's minor GC.

    原文地址:http://blog.griddynamics.com/2011/06/understanding-gc-pauses-in-jvm-hotspots.html Stop-the-worl ...

  6. LD1-B(最短路径-SPFA)

    题目链接 /* *题目大意: *给定v个点的重量,并给定e条边,每条边具有一个权值; *在e条边中选v-1条边使这v个点成为一棵树; *定义这棵树的代价为(每棵子树节点重量和其子树根到父节点的边的权值 ...

  7. lr 增强窗格中,如何生成调试信息?

    我是根据电子书来操作的, 如何生成调试信息?在测试运行的某些时候,经常需要向输出设备发送消息,指出当前位置和其他信息.这些输出消息会出现在回放日志和 Controller 的输出窗口中.可以发送标准输 ...

  8. 用Visual Studio创建集成了gtest的命令行工程

    gtest代码库中的sample代码 在gtest的代码库中,包含了10个sample的代码,覆盖了gtest的常见用法,sample的代码位于以下文件夹: gtest\samples 由于gtest ...

  9. 反编译工具 使用.NET JustDecompile来反编译你的程序代码

    原文地址:http://www.it165.net/pro/html/201310/7383.html 前言 在项目的进行中有时会碰到需要去了解由第三方所开发的程序代码或者因为年久已经遗失原始码的程序 ...

  10. Spark Streaming 入门指南

    这篇博客帮你开始使用Apache Spark Streaming和HBase.Spark Streaming是核心Spark API的一个扩展,它能够处理连续数据流. Spark Streaming是 ...