2009.12.07 Monday
unicodePwd文字列生成
ActiveDirectoryに対してLDIF形式で更新処理が可能ですが、
その際のunicodePwdに格納するパスワードを生成する
てけとーなサンプルです。
#時間ないのでソースをHTMLにするのも省きます。
#ごめんなさい。
参考URL:
http://itpro.nikkeibp.co.jp/free/NT/WinReadersOnly/20041006/2/
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import javax.mail.MessagingException;
import javax.mail.internet.MimeUtility;
public class PasswordMaker4LdifAD {
public static void main(String[] args) {
String str = "¥"" + "password$01" + "¥"";
try {
str = encodeBase64(encodeUTF16LE(str));
System.out.println(str);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static byte[] encodeUTF16LE(String str) throws UnsupportedEncodingException{
return str.getBytes("UTF-16LE");
}
private static String encodeBase64(byte[] data) throws MessagingException,
IOException {
ByteArrayOutputStream bao = new ByteArrayOutputStream();
OutputStream out = MimeUtility.encode(bao, "base64");
out.write(data);
out.close();
return bao.toString("iso-8859-1");
}
}
その際のunicodePwdに格納するパスワードを生成する
てけとーなサンプルです。
#時間ないのでソースをHTMLにするのも省きます。
#ごめんなさい。
参考URL:
http://itpro.nikkeibp.co.jp/free/NT/WinReadersOnly/20041006/2/
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import javax.mail.MessagingException;
import javax.mail.internet.MimeUtility;
public class PasswordMaker4LdifAD {
public static void main(String[] args) {
String str = "¥"" + "password$01" + "¥"";
try {
str = encodeBase64(encodeUTF16LE(str));
System.out.println(str);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static byte[] encodeUTF16LE(String str) throws UnsupportedEncodingException{
return str.getBytes("UTF-16LE");
}
private static String encodeBase64(byte[] data) throws MessagingException,
IOException {
ByteArrayOutputStream bao = new ByteArrayOutputStream();
OutputStream out = MimeUtility.encode(bao, "base64");
out.write(data);
out.close();
return bao.toString("iso-8859-1");
}
}
はてなアンテナに追加


![日経ソフトウエア 2009年 05月号 [雑誌]](http://ecx.images-amazon.com/images/I/51tbf7GZsmL._SL160_.jpg)





