0

最近我遇到了一个项目,它在登录时使用 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
  1. 此方法是否仅用于 JS 和 Applet 的浏览器兼容性,或者对于 MD5 散列的 javascript,applet 有什么优势?
  2. 在这种情况下,小程序有什么安全优势吗?
4

1 回答 1

2

在客户端散列密码和用户名(?)没有安全目的。在服务器上存储散列密码的最大好处是,万一密码数据库遭到破坏,不会泄露任何实际有效的密码。然而,当密码在客户端被散列时,散列实际上是一个密码——一个以明文形式存储在服务器上的密码,因此没有提供任何安全优势。

关于使用小程序,我不确定小程序的实现是什么,但它似乎没有为使用内置功能提供任何额外的好处。

于 2012-09-19T06:06:31.373 回答