public static String md5(String plainText) { byte[] secretBytes = null; try { secretBytes = MessageDigest.getInstance("md5").digest( plainText.getBytes()); } catch (NoSuchAlgorithmException e) { throw new RuntimeException("没有md5这个算法!"); } String md5code = new BigInteger(1, secretBytes).toString(16);// 16进制数字 // 如果生成数字未满32位,需要前面补0 for (int i = 0; i < 32 - md5code.length(); i++) { md5code = "0" + md5code; } return md5code; }
时间: 2024-01-10 20:04:30 浏览: 27
这是一个Java方法,用于计算字符串的MD5值。它使用了Java自带的MessageDigest类来实现,该类提供了多种哈希算法,其中包括MD5算法。该方法接收一个参数,即需要计算MD5值的字符串,然后将其转换为字节数组,并使用MessageDigest类的digest方法计算出MD5值。最后,它将MD5值转换为16进制字符串,并在前面补零,以确保其长度为32位。该方法返回计算出的MD5值。
相关问题
md5加解密 Java实现
MD5是一种常用的加密算法,可以用于验证签名和保护数据的安全性。在Java中,可以通过使用MessageDigest类和BigInteger类来实现MD5加密和解密。
您可以使用以下代码示例来实现MD5加密和解密:
```java
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Utils {
/**
* 使用md5的算法进行加密
*/
public static String md5(String plainText) {
byte[] secretBytes = null;
try {
secretBytes = MessageDigest.getInstance("md5").digest(
plainText.getBytes());
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("没有md5这个算法!");
}
String md5code = new BigInteger(1, secretBytes).toString(16); // 16进制数字
// 如果生成数字未满32位,需要前面补0
while (md5code.length() < 32) {
md5code = "0" + md5code;
}
return md5code;
}
public static void main(String[] args) {
System.out.println(md5("123"));
}
}
```
这段代码定义了一个MD5Utils的类,其中包含了一个md5方法,该方法接受一个字符串作为参数,并返回经过MD5加密后的结果。
Java md5加密
Java提供了自带的jar工具类MessageDigest来实现MD5加密算法。你可以使用以下代码来将字符串转换成MD5摘要值:
```java
public class MD5Utils {
public static String stringToMD5(String plainText) {
byte[] secretBytes = null;
try {
secretBytes = MessageDigest.getInstance("md5").digest(plainText.getBytes());
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("没有这个md5算法!");
}
String md5code = new BigInteger(1, secretBytes).toString(16);
for (int i = 0; i < 32 - md5code.length(); i++) {
md5code = "0" + md5code;
}
return md5code;
}
}
```
使用示例:
```java
@Test
public void testMd5() throws NoSuchAlgorithmException{
MessageDigest md = MessageDigest.getInstance("MD5");
String resultString = MD5Utils.stringToMD5("123456");
System.out.println(resultString); // 输出:e10adc3949ba59abbe56e057f20f883e
}
```
这样你就可以得到字符串"123456"的MD5加密结果"e10adc3949ba59abbe56e057f20f883e"。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [java实现MD5加密](https://blog.csdn.net/qq_45681735/article/details/106666067)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]