JavaScript MD5 哈希与 Java Applet MD5 哈希?

标签 java javascript security applet md5

最近我遇到一个项目,在登录时使用 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 的浏览器兼容性,或者 Applet 相对于 JavaScript 的 MD5 哈希有什么优势?
  2. 在这种情况下小程序有什么安全优势吗?

最佳答案

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

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

关于JavaScript MD5 哈希与 Java Applet MD5 哈希?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12489202/

相关文章:

for循环中的Java特定字符

java - 仅当工作线程在 Android 中完成时才在主线程中调用函数

javascript - 在 JavaScript 中的 Application Insights 中卸载之前保存事件

javascript - 在 Chrome 中从 CSS 执行 JavaScript,类似于 Firefox 和 IE

asp.net - 值得使用 ASP.Net 内置的配置文件系统吗?

java - 无法在AppCompatActivity中实现

java - eclipse - 输出

javascript - node.js 支持什么版本的 Javascript

javascript - Chrome 警告框提交页面,即使返回 false

security - 如果提供商受信任,通过电子邮件地址识别 OpenID 用户是否安全?