iOS开发——密码学

xiaoxiao2021-02-28  111

设计原则 对于数据安全的处理,移动端应该遵守两个原则 (1)不能在网络上以明文的方式传递用户信息(如密码) (2)不能在本地保存明文的用户信息加密算法 既然不能用明文,那就要加密了。 常用的加密算法有: (1)哈希函数:MD5,SHA1,SHA256 (2)对称加密:DES,3DES,AES (3)非对称加密:RSAMD5的使用 在移动端,最常用的加密算法就是md5了。 但是单纯的md5,目前已经被破解。 可以用以下的方法反破解: (1)加盐:(盐+密码).md5 盐:就是一串足够长和复杂的字符串(至于要多长,多复杂,自己定义吧) (2)HMAC 在用户注册的时候,通过服务器为每个用户随机生成一个对应的盐。这里和方法1差不多,只不过盐是随机生成的,具有不唯一性和不可知性 (3)(盐+密码).md5+201702111916(当前时间的年月日时分) 此方法保证请求只有一分钟有效期,可以防止中间人欺骗。本地用户信息的保存 钥匙串访问(AES),iOS有第三方SSKeychain,用于加密保存用户信息
转载请注明原文地址: https://www.6miu.com/read-46501.html

最新回复(0)