1.替换密码(最原始的密码)
破解方法
-
蛮力攻击、穷尽密钥搜索
26个英文字母替换密码的密钥空间: 26 * 25 * 24....* 3 * 2 * 1 = 2^88
-
字母频率分析
56-64位:几个小时甚至几天可以破解
2.不可逆加密:hash(散列)函数
-
MD5
对任意操作对象生成一个32位字符串,相当于一个映射表。
用途:
密码(服务器不需要知道用户的真实密码,数据库保存的是加密密码)
搜索
版权
文件完整性校验
破解:
散列碰撞
-
加盐
在原有字符串添加一串自定义字符串,只是降低了被破解的概率。
更严格的加盐策略:HMAC
SHA1
SHA256/512
iOS系统本身集成了其功能,只需要导入库<CommenCrypto/CommonCrypto.h>即可使用,有现成扩展:nsstring+hash
特点:
算法公开
对相同的数据加密,得到的结果是一样的
得到的结果都是定长的
3.对称加密算法
encryptionTools
DES
3DES
AES
4.非对称加密
- RSA