sha256
SHA-256
目的
- SHA-256
系 API の形 を stdlib内 で先 に固定 します。 現状 は buffering だけを行 い、後続 batch で本物 の digest計算 へ置 き換 えられる足場 を保 ちます。
実装
Sha256はVec<i32>buffer を保持 します。updateは byte を buffer へ積 み、finalizeは現状 では buffer をそのまま返 します。
注意
- まだ SHA-256 digest は
計算 していません。 現在 のfinalizeは debug / scaffold用途 です。
計算量
updateはVecpush に従 い償却 O(1) です。finalizeは O(1) で buffer ownership を返 します。
Sha256: 構造体の概要
- Sha256 の主な用途と呼び出し方を示します。
- 定義済み処理をそのまま呼び出す薄いラッパで構成されています。
- 引数の値は関数呼び出しで移動するため、再利用時は束縛し直してください。
- 定義そのものは O(1) です。
new_sha256: 主な用途
空 の buffer を持 つSha256state を作 ります。
Vec<i32>の empty buffer を初期値 として保持 します。
Vec初期化に従 う O(1)
sha256_update: 主な用途
- byte を 1
個 buffer へ追加 した新しい state を返 します。
現状 は digest 圧縮ではなくVecpush のみです。
償却 O(1)
sha256_finalize: 主な用途
現状 buffer を取 り出 して scaffold の動作 を確認 します。
- 本物の digest 計算はまだ
未実装 です。
- O(1)