async function digestMessage(message) {
const msgUint8 = new TextEncoder().encode(message); // (utf-8 の) Uint8Array にエンコードする
const hashBuffer = await crypto.subtle.digest('SHA-256', msgUint8); // メッセージをハッシュする
const hashArray = Array.from(new Uint8Array(hashBuffer)); // バッファーをバイト列に変換する
const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join(''); // バイト列を16進文字列に変換する
return hashHex;
}
const text = 'An obscure body in the S-K System, your majesty. The inhabitants refer to it as the planet Earth.';
const digestHex = await digestMessage(text);
console.log(digestHex);
// echo -n 'An obscure body in the S-K System, your majesty. The inhabitants refer to it as the planet Earth.' | sha256sum