2011年10月7日金曜日

Javaにてパスワード情報をMD5で暗号化する

パスワードによりユーザ管理をするシステムを開発する場合、ユーザ名とパスワードはデータベースで管理しますが、パスワードをそのままデータベースに格納するのは愚の骨頂です。通常は
  • 不可逆な暗号でパスワードを暗号化し、データベースに保存
  • 認証をする際は入力されたパスワードを同じ方式で暗号化し、その結果を元にデータベース参照する
という方法をとります。そこで、Javaでパスワードを暗号化する方法を紹介します。今回はできるだけJavaの標準のライブラリを利用する方法を採用し、MD5で暗号化する方法を紹介します。

下記のプログラムは2つのメソッドがありますが、上記が今回の本題です。MessageDigiestクラスを利用して、MD5形式で暗号化しています。ここで問題なのは、digestメソッドで生成されるのがbyte型配列であるということ。2つの目のメソッドはbyte型を16進表記のStringに変えるメソッドです。これを利用することで扱いやすくなります。
なお、掲載しているサンプルコードは下記のサイトのコードを引用させてもらいました。
参考サイト: [Java]MD5、DESで暗号化する(Creative Gear とあるWebエンジニアの活動記録)


0 件のコメント:

コメントを投稿