提交用户的隐私数据: (支付信息,账号信息等等)
- 不要用GET请求提交,这样会将参数暴露在URL中,
- 一定要用POST请求提交,
- 请求的URL一般会记录在服务器的访问日志中,
- 服务器的访问日志是黑客攻击的重点对象之一,
- 不过现在有很多的软件,可以拦截手机的请求数据,
- 如果仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题,
- 因此:提交用户的隐私数据,一定不要明文提交,而且需要加密处理后在提交.SHA
常见的加密算法:
MD5
/ SHA / DES / 3DES / RC2和RC4 / RSA / IDEA / DSA / AES
MD5 :
- 消息摘要算法第5版(Message Digest Algorithm 5)
- 对输入的信息生成唯一128位散列值 (32个字符)
- MD5算法具有较好的安全性,而且免费,因此该加密算法被广泛使用,
- 主要运用在数字签名,文件完整性验证以及口令加密等方面.
www.cmd5.com
- 这个暴力破解的网站也可以将MD5破解掉
- 这个网站的工作原理就是有一个很大的数据库,
-
相当于一个字典,key就是加密过的散列值,value就是加密之前的信息.
提交隐私数据的安全过程
当用户注册填写账号,密码的时候就注定要开始加密了
- 只要用户点击注册按钮之后就开始加密
- 将加密过的密码传送给服务器
-
服务器在放入数据库,此时数据库的密码已经是暗文.
当用户登录的时候
- 将加密过的密码传送给服务器,然后服务器,拿到密码去数据库中匹配,
- 如果匹配到了,那么返回给服务器,服务器在返回给用户.这样就完成了登录.
代码实现
加密会用到苹果提供的一个库叫:CommonCrypto
MD5分类
看下暴力破解得出的结果
看到这里,是不是觉得没法完了,所有的账号信息,支付信息不都完蛋了么
别着急,我们可以对MD5进行改进
MD5的一些改进:
加盐(Salt):
1 - 在明文的固定位置插入随机串,然后在进行MD5加密
2 - 先加密, 后乱序:先对明文进行MD5,然后对加密得到的MD5串的字符进行乱序
3 - 更多种方法
- 总之宗旨就是:黑客就算攻破了数据库,也无法解密出正确的明文
网友评论