python的hashlib字符串加密模块
来源:互联网 发布:淘宝发布宝贝视频 编辑:程序博客网 时间:2024/05/16 16:01
hashlib模块是用来对字符串进行hash加密的模块,得到的hash密文不会改变,稳定;用于注册、登录时用户名、密码等加密使用。
一.函数分析:
1.共有5种加密算法:
md5(),sha1(),sha224(),sha256(),sha384(),sha512(),分别得到不同的加密密文。
2.hashlib.hexdigest():获取加密的密文,16进制,无参数。
3.hashlib.digest():获取加密的密文,二进制,无参数。
4.hashlib.copy():复制一份当前创建的hash对象,无参数。
5.update(str1.encode("utf-8")):更新加密的密文,得到的密文与原来的密文不相同。
hash.name:查看当前获得的hash对象的加密算法;
hash.digest_size:hash密文占多少个字节;
hash.block_size:hash数据块的大小。
hashlib.algorithms_guaranteed:查看所有平台都支持的hash算法;
hashlib.algorithms_available:查看所有的hash加密算法。
二。运用:
1.创建哈希对象,有两种方式:
m = hashlib.new("md5",b"cai") # 选择md5加密函数加密字符串“cai”
m = hashlib.md5("cai".encode("utf-8")) # 加密的另一种写法
2.特殊用法:当需要加密的字符串过大的时候,可以使用同一个hash对象分多次加密,update(a)+update(b)=update(a+b).
举例:
1 m = hb.md5()2 m1 = m.copy()3 m.update("a".encode("utf-8"))4 m.update("b".encode("utf-8")) 5 print(m.hexdigest()) # 输出密文16 m1.update("ab".encode("utf-8"))7 print(m1.hexdigest()) # 输出与密文1完全相同的密文2
3.例子:
1 import hashlib as hb 2 3 4 def hash_fun(str1): 5 m = hb.md5(str1.encode("utf-8")) # 创建一个hash对象,并对str1加密 6 print(m.hexdigest()) # 输出得到的密文 7 m.update(str1.encode("utf-8")) # 更新密文 8 print(m.hexdigest()) # 输出更新密文,与前面不再相同 9 print(m.digest()) # 获取字节密文10 print(m.block_size) # 获取hash块的大小11 print(m.digest_size) # 获取密文的字节数12 print(m.name) # 获取加密算法的名字md513 14 15 def hash_fun2(str1):16 m = hb.md5(str1.encode("utf-8"))17 print(m.hexdigest())18 a = m.copy() # 拷贝一个hash对象19 print(a.hexdigest()) # 得到的密文没改变20 21 22 def hash_fun1(str1):23 m = hb.sha1(str1.encode("utf-8")) # sha1算法加密24 print(m.hexdigest())25 m1 = hb.sha224(str1.encode("utf-8")) # sha224算法加密26 print(m1.hexdigest())27 28 29 def hash_fun3():30 m = hb.md5()31 m1 = m.copy()32 m.update("a".encode("utf-8"))33 m.update("b".encode("utf-8"))34 print(m.hexdigest())35 m1.update("ab".encode("utf-8"))36 print(m1.hexdigest())37 38 39 if __name__ == '__main__':40 hash_fun("cai")41 print()42 hash_fun1("cai")43 print()44 hash_fun2("cai")45 print()46 hash_fun3()
结果如下:
- python的hashlib字符串加密模块
- python的hashlib字符串加密模块
- python的加密模块 hashlib
- Python使用hashlib模块做字符串加密
- Python的hashlib模块
- Python的hashlib模块
- Python模块学习 ---- hashlib hash加密
- Python中hashlib模块, 快捷加密数据
- Python hashlib模块 (主要记录md5加密)
- Python hashlib模块 (主要记录md5加密)
- Python hashlib模块 (主要记录md5加密)
- python学习之路(hashlib模块----加密)
- Python hashlib模块
- python模块之hashlib
- Python hashlib模块
- python模块之hashlib
- python hashlib模块
- python 模块学习 hashlib
- UVAlive 3602 DNA序列(计数+瞎搞)
- Android开发常用的设计模式
- Android使用tools预览布局,发布的时候会自动关闭预览数据
- 【安全牛学习笔记】主动信息收集-发现
- Android知识点整理(三)
- python的hashlib字符串加密模块
- 启动MYSQL服务时遇到问题(MySQL 服务无法启动。服务没有报告任何错误。)
- 删除Java代码中的所有注释
- ArcGIS for Android Runtime100 基本操作(三)——离线数据空间查询
- spring cloud config 用svn做配置文件仓库
- Linux常用命令
- struts2+ajax图片上传以及jsp页面显示
- 备战2018同等学力
- 质量模型