最近我遇到了一个项目,它在登录时使用MD5散列来发布用户名和密码。但是我所看到的有点奇怪,他们使用Applet和JavaScript进行散列,就像如果Applet不存在,那么JavaScript就会工作。
守则如下:
var username=document.getElementById('username');
var password=document.getElementById('password');
try {
encUsername = appletObject.encryptMessage(username);
encPassword = appletObject.encryptMessage(password);
} catch (e) {
encUsername = hex_md5(username);
encPassword = hex_md5(password);
}
//post encUsername & encPassword for validation发布于 2012-09-19 06:06:31
哈希密码和用户名(?)在客户端没有安全目的。在服务器上存储散列密码的最大好处是,如果密码数据库被破坏,则不会泄露实际有效的密码。但是,当密码在客户端被散列时,哈希实际上是一个密码--一个存储在服务器上的清空中的密码,因此没有提供安全优势。
关于使用applet,我不知道applet的实现是什么,但它似乎没有为使用内置函数提供任何额外的好处。
https://stackoverflow.com/questions/12489202
复制相似问题