【问题标题】:What is DigestUtils sha256 encoding equivalent from JavaScript?什么是与 JavaScript 等效的 DigestUtils sha256 编码?
【发布时间】:2013-01-21 17:39:17
【问题描述】:

我调用以下命令并创建密码哈希。

ByteString password = ByteString.copyFrom(DigestUtils.sha256("mypassword"));

但现在我需要从客户端 (JavaScript) 发送经过 sha256 转换的密码消息。我厌倦了使用 CryptoJS 如下

 var pass = CryptoJS.SHA256(document.getElementById('password').value);
    var passhash = pass.toString(CryptoJS.enc.Latin1)
    login(passhash);

我尝试了所有 Base64、Latin1 和 Hex 类型来获取字符串。但它不会产生与 Java 中相同的密码

【问题讨论】:

  • 使用bcrypt
  • 但是 sha 是固定的。它用于服务器端身份验证。可能是下一次:)

标签: javascript apache-commons sha sha256


【解决方案1】:

问题在于字符编码。以下修复了问题。

在 JS 中:

var password = pass.toString(CryptoJS.enc.Utf16); 

在 Java 中:

byte[] passhash = jsCryptoString.getBytes("UTF-16BE");

【讨论】:

    猜你喜欢
    • 2018-07-17
    • 2023-02-16
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多