今天面试的时候,问到安全问题。
登陆的时候,如何保证密码的安全。
?
首先想到的是加密,我也是这么想的,MD5加密,或SHA加密。
但是想MD5加密是有问题的。比方说简单的密码123456 进行加密后
16位:49ba59abbe56e057
32位:e10adc3949ba59abbe56e057f20f883e
加密后是固定的,那么简单的密码就会遭到暴力破解的可能。
咋样解决呢,于是,我又想到盐值加密(salt). 嘿嘿,以为这样就过关了。
?
面试官说:
?
如果网络被监听,密码被窃取。咋办?
当时,面试的时候,一时没反应过来,也就没达上来,现在想想,其实解决的办法肯定是有的。
?
回家查了查这反面的资料。自己总结归纳下。
比方说:网易的游戏,什么将军令,密码卡之类的,在输入密码之后,还需要额外的输入这些信息才能够登陆。
使用SSL加密,也就是https安全登陆,防止密码被监听。
?
使用3DES或DES可逆的加密算法。每次密钥随机生成。
?
使用密码对验证码进行盐值加密,使得破解密码还必须破解验证码。
多重技术组合,增加破解的难度。