SHA1とSHA256の主な違いは、SHA1は160ビットのハッシュ値を生成する旧バージョンのSHAであり、SHA256は256ビットのハッシュ値を生成するSHA2の一種であることです。
SHAとは、Secure Hash Algorithmの略。
米国国立標準技術研究所(NIST)が公開している暗号ハッシュ関数のセットを指す。
また、SHA-0、SHA1、SHA2など、さまざまなバージョンがあります。
SHA1は160ビットのハッシュ関数で、MD5アルゴリズムと類似している。
一方、SHA 256はSHA 2の一種で、256ビットのハッシュを出力する。
また、元データから結果のハッシュを生成することを表すコンストラクションや、署名のビット長にも違いがあります。
SHA1とは
SHA1とは、Secure Hash Algorithm 1の略です。
暗号化ハッシュ関数の一つで、入力を受けてメッセージダイジェストと呼ばれる160ビットのハッシュ値を生成する。
また、40桁の16進数で表示される。
米国国家安全保障局が設計した。
しかし、2005年以降、SHA-1は安全とはみなされなくなった。
そのため、現在では、組織はSHA1の代わりにSHA2またはSHA3を使用しています。
2017年には、ほとんどのウェブブラウザベンダーがSHA1 SSL証明書をサポートしています。
SHA256とは
SHA2とは、ブロックサイズの異なる2つの類似したハッシュ関数のファミリーを指します。
そのうちの1つがSHA256です。
ハッシュ生成ツールを使って、任意の文字列や入力値に対してSHA256ハッシュを生成することが可能である。
また、256個のハッシュ値を生成し、内部状態のサイズは256ビットです。
SHA1ハッシュとSHA256ハッシュの例は以下の通りです。
SHA1 – da39a3ee5e6b4b0d3255bfef95601890afd80709
SHA256 – e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SHA2には、SHA256の他にSHA512というハッシュもあります。
SHA1 と SHA256 の違い
定義
SHA1は暗号化ハッシュ関数で、入力を受けてメッセージダイジェストと呼ばれる160ビットのハッシュ値を生成する。
これに対し、SHA256はSHA2の一種で、256ビットのハッシュ値を生成する。
このように、SHA1とSHA256の主な違いを説明する。
出力サイズ
SHA1 の出力サイズは 160 ビット、SHA2 の出力サイズは 256 ビットです。
内部状態のサイズ
SHA1の内部状態のサイズは160、SHA256の内部状態のサイズは256です。
セキュリティ
また、SHA1とSHA256のもう一つの違いは、SHA256はSHA2の一種であり、SHA1よりも安全性が高いということです。
結論
SHAとは、簡単に言うと、メッセージの安全性を確保するためのアルゴリズムです。
SHAには様々なバージョンがあります。
そのうちの2つはSHA1とSHA256です。
ただし、SHA1とSHA256の主な違いは、SHA1は160ビットのハッシュ値を生成する古いバージョンのSHAであり、SHA256は256ビットのハッシュ値を生成するSHA2の一種であることです。