暗号JavaのWebアプリケーションを構築した際に、ユーザ情報を管理することがあります。このときパスワードも管理することになりますが、パスワードを平文のままDBに入れるのはセキュリティの観点から好ましくありません。Codecを利用し、パスワードを簡単に暗号化する方法を説明します。Codecでは一方向ハッシュを実現するためのDigestUtilsクラスが用意されています。ハッシュとは、ある任意の値から、どのような値でも一様であり、衝突耐性のある値(ハッシュ値)を得ることです。同じハッシュアルゴリズムであれば、元の値が同じであれば、ハッシュ値も同じです。「ABCD」という値をハッシュ化し、「1234」というハッシュ値を得た場合、「ABCD」は何度ハッシュ化しても「1234」であり、「1234」をハッシュ値として持つ元の値を、発見することは限りなく困難です。ハッシュは一方向に対してのみ有効であり、ハッシュ値から元の値を得ることはできません。実際にWebアプリケーションで認証をさせる場合は、パスワードをハッシュ値としてDBに入れ、認証時に入力された文字列から同一ハッシュアルゴリズムでハッシュ値を求め、ハッシュ値が一致を確認することで認証します。Commonsプロジェクトの1プロジェクトです。2.0のため、OSSの中でも比較的自由に利用可能です。data)MD5でハッシュ化します。data)SHA-1でハッシュ化します。data)SHA-256でハッシュ化します。サンプル文字列からハッシュ値を求めるサンプルです。SHA-256でハッシュ値を求めます。現状、この中ではSHA-256が一番強力なので、マシンパワーに余裕があればSHA-256を利用されることをお勧めします。Reply返信をキャンセルする。