Expand description
crypto.subtle(SubtleCrypto)の部分実装。
以前は「暗号ハッシュ実装は1ビットの誤りが静かに間違った結果を生み続ける性質上、
単発サイクルで検証しきれるリスク」(Float16Array/oklch()変換と同格)と判断し
着手を見送っていたが、SHA-256はoklch()等の浮動小数点近似とは性質が異なり、
NIST/RFCが公開する既知の正解値(Known Answer Test)で完全一致検証できる
純粋な整数ビット演算アルゴリズムのため、リスク評価を見直し実装した
(2026-07-18 発見・実装)。digest('SHA-256', data)のみ対応。他のアルゴリズム
(SHA-1/SHA-384/SHA-512等)やencrypt/decrypt/sign/verify/generateKeyは
依然未対応のまま(sha2等のクレート依存が無く、TLS実装内部のSHA/HMACも非公開で
再利用不可なため、これらは規模の大きい追加実装が必要)。
Constants§
Functions§
- sha256 🔒
- SHA-256(FIPS 180-4)。任意長バイト列 → 32バイトダイジェスト。
- subtle_
digest 🔒 crypto.subtle.digest(algorithm, data)。algorithmは文字列 ("SHA-256")または{name: "SHA-256"}のいずれかを受理する (両方とも実ブラウザで有効な呼び出し形式)。戻り値はArrayBufferに 解決されるPromise(仕様どおり非同期API)。