javascript - JavaScript 中的 DigestUtils sha256 编码等效项是什么?

标签 javascript apache-commons sha sha256

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

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 中相同的密码

最佳答案

问题出在字符编码上。以下解决了问题。

在 JS 中:

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

在 Java 中:

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

关于javascript - JavaScript 中的 DigestUtils sha256 编码等效项是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14435132/

相关文章:

c++ - "vperm v0,v0,v0,v17"和未使用的 v0 有什么作用?

linux - 验证文件的 SHA-256 总和,如果不符合预期则退出脚本

JavaScript - 如何解析 url 中的哈希参数?

javascript - 如何将 div 类中的 div 元素的参数传递给 AJAX,然后传递给 PHP

javascript - 如何在 mocha 测试中使用 Node.js 全局变量

java - 使用 Apache Commons 将图像转换为 Base64

java - Tiff 平铺 : how to read a specific tile?

java - 如何使用 Apache Commons 库从 CMD 运行 Java

java - Android SHA1 非常慢

javascript - 用 IE 兼容的脚本替换 setAttribute