次のようにコードをコピーします。
/**
* MD5暗号化の実装
*
*/
パブリック クラス MD5 {
/**
* 暗号化された文字列を取得する
* @param入力
* @戻る
*/
public static String stringMD5(String pw) {
試す {
// MD5 コンバータを取得します (SHA1 パラメータを「SHA1」に変更したい場合)
MessageDigest messageDigest =MessageDigest.getInstance("MD5");
//入力文字列をバイト配列に変換します
byte[] inputByteArray = pw.getBytes();
// inputByteArray は入力文字列から変換されたバイト配列です
messageDigest.update(inputByteArray);
// 変換して結果を返します。これも 16 個の要素を含むバイト配列です。
byte[] resultByteArray = messageDigest.digest();
// 文字配列を文字列に変換して返します
byteArrayToHex(resultByteArray) を返します。
} catch (NoSuchAlgorithmException e) {
null を返します。
}
}
public static String byteArrayToHex(byte[] byteArray) {
// まず、各 16 進文字を格納するための文字配列を初期化します。
char[] hexDigits = {'0','1','2','3','4','5','6','7','8','9','A', 'B','C','D','E','F' };
// 新しい文字配列。これは結果文字列の形成に使用されます (説明: バイトは 8 ビットのバイナリ、つまり 2 つの 16 進文字です (2 の 8 乗は 16 の 2 乗に等しい))
char[] resultCharArray =new char[byteArray.length * 2];
// バイト配列を走査し、ビット操作を通じて文字に変換し (ビット操作は非常に効率的です)、文字配列に入れます。
int インデックス = 0;
for (バイト b : byteArray) {
resultCharArray[index++] = hexDigits[b>>> 4 & 0xf];
resultCharArray[index++] = hexDigits[b& 0xf];
}
// 文字配列を文字列に結合して返します
新しい文字列(resultCharArray)を返します;
}
}
PS: 暗号化技術に関しては、このサイトでは参考として次の暗号化ツールも提供しています。
MD5 オンライン暗号化ツール: http://tools.VeVB.COm/password/CreateMD5Password
エスケープ暗号化/復号化ツール: http://tools.VeVB.COm/password/escapepwd
オンライン SHA1 暗号化ツール: http://tools.VeVB.COm/password/sha1encode
ショートリンク(短縮URL)オンライン生成ツール: http://tools.VeVB.COm/password/dwzcreate
ショートリンク(短縮URL)オンライン復元ツール: http://tools.VeVB.COm/password/unshorturl
強力なパスワード ジェネレーター: http://tools.VeVB.COm/password/CreateStrongPassword