簡體   English   中英

使用CryptoJS使用字節[32]的Sha256?

[英]Sha256 with byte[32] using CryptoJS?

使用CryptoJS時,當我需要32個字節時,我得到了一個字節[8],此代碼正好是:

CryptoJS.SHA256(word);

如何獲得32位?

這讓人有些費解,但是我對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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM