ハッシュ関数をやさしく解説:MD5・SHA-1・SHA-256の違いと正しい使い方
ダウンロードのチェックサム、Gitのコミット ID、ブロックチェーンのアドレスはすべてハッシュ値です。このガイドでは、ハッシュと暗号化の違いと、用途ごとにどのアルゴリズムを選ぶべきかを説明します。
ハッシュ関数は、任意の長さの入力から固定長の短い値を作ります。これをハッシュ値またはダイジェストと呼びます。1単語でも数ギガバイトの動画でも、SHA-256の出力は常に256ビット、つまり16進数64文字です。
SHA-256("hello") = 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
SHA-256("hello!") = ce06092fb948d9ffac7d1a376e404b26b7575bcc11ee05a4615fef4fec3a308b
MD5("hello") = 5d41402abc4b2a76b9719d911017c592
良いハッシュ関数の3つの性質、MD5とSHA-1がセキュリティ用途で使われなくなった理由、ファイルの整合性確認やパスワード保存での正しいハッシュの使い方を解説します。ガイドを読む →