public static String getHash(String org, String algorithm) { // 引数・アルゴリズム指定が無い場合は計算しない if ((org == null) || (algorithm == null)) { return null; } // 初期化 MessageDigest md = null; try { md = MessageDigest.getInstance(algorithm); } catch (NoSuchAlgorithmException e) { return null; } md.reset(); md.update(org.getBytes()); byte[] hash = md.digest(); // ハッシュを16進数文字列に変換 StringBuffer sb = new StringBuffer(); int cnt = hash.length; for (int i = 0; i < cnt; i++) { sb.append(Integer.toHexString((hash[i] >> 4) & 0x0F)); sb.append(Integer.toHexString(hash[i] & 0x0F)); } return sb.toString(); }