📚
JavaScriptで、ハッシュ(SHA-256など)を使う方法
ブラウザ側の処理で、JavaScriptを使ってハッシュ値を生成したい場合があります。
いつの間にか、ブラウザに実装されていました。
もちろん、サーバーサイドで生成した値と一致します。
const algorithm = 'SHA-256';
const text = 'This is test string.';
const uint8 = new TextEncoder().encode(text);
const digest = await crypto.subtle.digest(algorithm, uint8);
const hashed = Array.from(new Uint8Array(digest)).map(v => v.toString(16).padStart(2,'0')).join('');
console.log(hashed);
エラーになる
ただし、アクセスがセキュア(httpsやlocalhostなど)でないと使えないそうです。なぜそのような制限が必要だったのでしょうか?
Discussion