hashlib和hmac

hashlib

hashlib模块用于加密相关的操作,代替了md5sha模块,主要提供SHA1SHA224SHA256SHA384SHA512MD5算法。

#!/usr/bin/env python
# coding=utf-8

import hashlib
obj = hashlib.md5()
obj.update(bytes('xiaoming235', encoding='utf-8'))
ret = obj.hexdigest()
# ret = obj.digest()
print(ret)

上面是没有加saltmd5,但有时候可以通过撞库反解,所以有必要对加密算法中添加salt

#!/usr/bin/env python                                                                   
# coding=utf-8                                                                                                                                                                   
                                                                                        
import hashlib                                                                          
obj = hashlib.md5(bytes('my-salt', encoding='utf-8'))                                   
obj.update(bytes('xiaoming235', encoding='utf-8'))                                      
                                                                                        
ret = obj.hexdigest()                                                                   
print(ret)     

hmac

python内置还有一个hmac模块,内部实现了对我们创建salt和内容进行进一步处理后然后再加密。

import hmac

obj = hmac.new(bytes('23456', encoding='utf-8'))
obj.update(bytes('admin', encoding='utf-8'))
ret = obj.hexdigest()
print(ret)
原文地址:https://www.cnblogs.com/xiaoming279/p/6373018.html