便利なコードパーツ集!

やまろうのプログラミングTips

Java

Base64エンコード & デコード & LDAPパスワード変換

投稿日:

2004/01

まず、Base64ってなんやねん?ということですが、メールとかで
使われてる符号化形式です。可逆変換であって変換したものを
元に戻せます。変換するのをencodeBase64()、元に戻すのをdecodeBase64()
として実装しました。

それとLDAPのパスワードはBase64エンコードをしてからSHAハッシュ値に
変換したものを格納してます。なので、LDAPに登録してるユーザの認証
をするような場合に入力されたパスワードをLDAPに格納されてる形式に
変換して比較する必要があります。この機能を実装した
encriptPassword()ってメソッドを作ってみました。

んじゃ、ソース行ってみよう!

スポンサーリンク



実行しましょう!
このプログラムはJavaMailパッケージを使っているので
JavaMailをダウンロードして、その中にあるmail.jar、
またはJ2EESDKをダウンロードして、その中にあるj2ee.jar
にクラスパスを通します。
> set CLASSPATH=CLASSPATH;.;j2ee.jar

このメルマガをBase64Util.javaって名前で保存して
> javac -d . Base64Util.java
> java etc.Base64Util やまろう

[実行結果]

元の文字列 やまろう
エンコード後 guSCpIKxguiC8Q==
デコード後 やまろう
LDAPパスワード形式に変換後 {SHA}TaDOW3uqSMa3oOM5EWFz2tuChec=

"やまろう"をBase64エンコードすると"guSCpIKxguiC8Q===="になって
デコードすると"やまろう"に戻ってます。
LDAPパスワード形式に変換すると"{SHA}TaDOW3uqSMa3oOM5EWFz2tuChec="
になってます。こちらはSHAハッシュ化しているので、元に戻すことは
出来ません。

ってなわけで、いかがだったでしょうか?Base64とか、SHAとかはユーザ認証
でよく出てきます。ログイン画面とか作る時にきっと役に立つと思います。
んじゃ
やまろう

スポンサーリンク

-Java

Copyright© やまろうのプログラミングTips , 2020 AllRights Reserved Powered by AFFINGER4.