MD5Transform.java ― 2011-09-17 09:04:25
OpenAMのJDBC認証時にMD5パスワードを扱いたかったので作ったもの.探がしかたが悪かったのか,適当なものが見つからなかった.ClearTextTransform以外もはじめから用意しててくれればいいのに.
package com.sun.identity.authentication.modules.jdbc; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import com.sun.identity.authentication.spi.AuthLoginException; public class MD5Transform implements JDBCPasswordSyntaxTransform { public MD5Transform() { } @Override public String transform(String input) throws AuthLoginException { System.out.println(input); String result = toMD5HexString(input); result = result.trim(); System.out.println(result); return result; } private String toMD5HexString(String source) { StringBuilder sb = new StringBuilder(); MessageDigest md; try { md = MessageDigest.getInstance("MD5"); byte[] data = source.getBytes(); md.update(data); byte[] digest = md.digest(); for (int i = 0; i < digest.length; i++) { String hex = Integer.toHexString((int) 0x00FF & digest[i]); if (hex.length() == 1) { sb.append("0"); } sb.append(hex); } } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return sb.toString(); } }
最近のコメント