生成 SHA256 哈希的等效 JavaScript 代码
Equivalent JavaScript code to generate SHA256 hash
我在 Java 中有这段生成 SHA256 哈希的代码:
Hashing.sha256().hashString(value,Charsets.UTF_16LE).toString()
我正在尝试在 JavaScript/Node 上做同样的事情,得到相同的 value
returns 相同的结果。
我尝试使用 crypto-js
但没有成功(它 returns 是一个哈希字符串,但不同于使用 Java 代码生成的字符串)。
我试过这个,例如:
import * as sha256 from 'crypto-js/sha256';
import * as encutf16 from 'crypto-js/enc-utf16';
...
let utf16le = encutf16.parse(key);
let utf16Sha256 = sha256(utf16le);
let utf16Sha256String = utf16Sha256.toString();
你能试试这样吗:-
const CryptoJS = require('crypto-js');
let utf16le = CryptoJS.enc.Utf16LE.parse(word);
let utf16Sha256 = CryptoJS.SHA256(utf16le);
return utf16Sha256.toString(CryptoJS.enc.Hex);
否则,如果您可以给出与 JAVA 代码对应的输入和预期输出的样本,那将更容易
我在 Java 中有这段生成 SHA256 哈希的代码:
Hashing.sha256().hashString(value,Charsets.UTF_16LE).toString()
我正在尝试在 JavaScript/Node 上做同样的事情,得到相同的 value
returns 相同的结果。
我尝试使用 crypto-js
但没有成功(它 returns 是一个哈希字符串,但不同于使用 Java 代码生成的字符串)。
我试过这个,例如:
import * as sha256 from 'crypto-js/sha256';
import * as encutf16 from 'crypto-js/enc-utf16';
...
let utf16le = encutf16.parse(key);
let utf16Sha256 = sha256(utf16le);
let utf16Sha256String = utf16Sha256.toString();
你能试试这样吗:-
const CryptoJS = require('crypto-js');
let utf16le = CryptoJS.enc.Utf16LE.parse(word);
let utf16Sha256 = CryptoJS.SHA256(utf16le);
return utf16Sha256.toString(CryptoJS.enc.Hex);
否则,如果您可以给出与 JAVA 代码对应的输入和预期输出的样本,那将更容易