Scala MD5加密类
程序员文章站
2024-03-19 13:31:52
...
只是简单实现,很容易**,暂时先拿来用记录下。
Scala
object MD5 {
def MD5Encode(input: String): String = {
// 指定MD5加密算法
val md5 = MessageDigest.getInstance("MD5")
// 对输入数据进行加密,过程是先将字符串中转换成byte数组,然后进行随机哈希
val encoded = md5.digest(input.getBytes)
// 将加密后的每个字节转化成十六进制,一个字节8位,相当于2个16进制,不足2位的前面补0
encoded.map("%02x".format(_)).mkString
}
def main(args: Array[String]): Unit = {
println(MD5Encode("hello world")) // 5eb63bbbe01eeed093cb22bb8f5acdc3
}
}
Java
public class TestMD5 {
/**
* MD5加密
* @param input
* @return
*/
public static String MD5Encode( String input) {
try {
// 指定MD5加密算法
MessageDigest md5 = MessageDigest.getInstance("MD5");
// 将字符串中转换成byte数组,并更新到MD5
md5.update(input.getBytes());
// 对输入数据进行随机哈希加密
byte[] encoded = md5.digest();
// 转换为十六进制字符串
return getHex(encoded);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}
/**
* 转换为十六进制字符串
* 将加密后的每个字节转化成十六进制,一个字节8位,相当于2个16进制,不足2位的前面补0
*/
private static String getHex(byte[] bytes){
StringBuilder builder = new StringBuilder(bytes.length * 2);
for (byte b: bytes) {
builder.append(Integer.toHexString((b >> 4) & 0x0f));
builder.append(Integer.toHexString(b & 0x0f ));
}
return builder.toString();
}
public static void main(String[] args) {
System.out.println(MD5Encode("hello world"));
// 5eb63bbbe01eeed093cb22bb8f5acdc3
}
}