简介
Python内置的hashlib模块提供了我们常见的摘要算法,例如 md5 , sha256 等。
那什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数 f()
,把任意长度的数据 data
转换为一个长度固定的数据串 digest
(通常用16进制的字符串表示)。同时我们的函数 f()
也是一个单向函数(反推及其困难),所以我们可以用摘要算法来查看数据是否被篡改过。
我日常工作中则是用来对人群包所需要的PHONE/IMEI/IDFA等信息加密。
使用
方法及属性简介
1 |
|
动手实现一下
对一个文件的第二行使用md5()进行加密:
1 | #!/usr/bin/env python |
要加点盐
这个加密也不是绝对安全的,破解方式可以是碰撞。假设密码是生日,那我完全可以不用去逆向计算,我暴力计算现有的所有的生日经过摘要算法处理之后的值,然后去匹配即可。所以解决方法可以是加点 salt
。
具体实现还是很简单的,夜深了,先去休息。