【发布时间】:2017-06-28 07:40:04
【问题描述】:
当我需要 32 个字节时,我使用 CryptoJS 结果得到一个字节 [8],这段代码正好:
CryptoJS.SHA256(word);
如何获得 32?
【问题讨论】:
标签: javascript typescript cryptojs
当我需要 32 个字节时,我使用 CryptoJS 结果得到一个字节 [8],这段代码正好:
CryptoJS.SHA256(word);
如何获得 32?
【问题讨论】:
标签: javascript typescript cryptojs
这感觉有点令人费解,但我对 CryptoJS 没有太多经验,所以也许有一个需要更少步骤的解决方案:
const CryptoJS = require('crypto-js');
let hash = CryptoJS.SHA256('hello world');
let buffer = Buffer.from(hash.toString(CryptoJS.enc.Hex), 'hex');
let array = new Uint8Array(buffer);
如果你需要一个合适的 JS 数组(Array.isArray 返回true),你可以使用这个:
let array = Array.from( new Uint8Array(buffer) );
【讨论】:
解决方案是在我的情况下:
let utf16le = CryptoJS.enc.Utf16LE.parse(word);
let utf16Sha256 = CryptoJS.SHA256(utf16le);
return utf16Sha256.toString(CryptoJS.enc.Hex);
感谢别人的提问
【讨论】:
CryptoJS.SHA256(word).toString()
【讨论】: