タグ

2021年1月22日のブックマーク (1件)

  • フルスクラッチでSHA-256を作る

    ハッシュ値の利用者として中身のアルゴリズムを知っておきたいと思ったのでTypeScriptで1からSHA-256を作ろうと思います。SHA-256は名前そのまま、どんな長さのメッセージでも256bitsのハッシュ値を返す関数です。 完成版はこちら 前提知識 論理演算(論理積とか論理和とか排他的論理和とか)とシフト演算が分かっていれば大体いけます。 論理積はAND。数式上では\land、コードでは&で表します。 論理和はOR。数式上では\lor、コードでは|で表します。 排他的論理和はXOR。数式上では\oplus、コードでは^で表します。 左シフト演算はビット列を左にnビット動かすやつです。値は2^n倍になります。数式上では\ll、コードでは<<で表します。 右シフト演算はビット列を右にnビット動かすやつです。値は2^{-n}倍になります。数式上では\gg、コードでは符号なしの右シフト演算

    フルスクラッチでSHA-256を作る
    komlow
    komlow 2021/01/22