Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
生成SHA256哈希的等效JavaScript代码_Javascript_Java_Hash_Sha256 - Fatal编程技术网

生成SHA256哈希的等效JavaScript代码

生成SHA256哈希的等效JavaScript代码,javascript,java,hash,sha256,Javascript,Java,Hash,Sha256,我用Java编写了以下代码,生成SHA256哈希: Hashing.sha256().hashString(值,Charsets.utf16le).toString() 我尝试在JavaScript/Node上做同样的操作,即使用相同的值返回相同的结果 我尝试使用indcrypto js,但没有成功(它返回一个哈希字符串,但与Java代码生成的哈希字符串不同) 我试过这个,例如: import * as sha256 from 'crypto-js/sha256';

我用Java编写了以下代码,生成SHA256哈希:

Hashing.sha256().hashString(值,Charsets.utf16le).toString()

我尝试在JavaScript/Node上做同样的操作,即使用相同的
返回相同的结果

我尝试使用ind
crypto js
,但没有成功(它返回一个哈希字符串,但与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代码相对应的输入和预期输出的示例,则会更容易

您可以尝试以下方法:-

const CryptoJS = require('crypto-js');

let utf16le = CryptoJS.enc.Utf16LE.parse(word);
let utf16Sha256 = CryptoJS.SHA256(utf16le);
return utf16Sha256.toString(CryptoJS.enc.Hex);

或者,如果您能给出与JAVA代码相对应的输入和预期输出的示例,则会更容易

这与我尝试的类似。但是你的代码起作用了。谢谢,这和我试过的差不多。但是你的代码起作用了。谢谢