Java中的Encryption算法函数
发布时间:2023-11-10 04:43:13
Java中的Encryption算法函数有很多,常见的有以下几种:
1. MD5加密算法:
MD5是一种常用的哈希加密算法,常用于对密码进行加密,主要特点是不可逆。Java中提供了MessageDigest类来实现MD5算法的加密。具体代码如下:
import java.security.MessageDigest;
import javax.xml.bind.DatatypeConverter;
public String encryptWithMD5(String input) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(input.getBytes());
byte[] digest = md.digest();
return DatatypeConverter.printHexBinary(digest).toUpperCase();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
2. SHA加密算法:
SHA也是一种常用的哈希加密算法,与MD5相比,SHA算法具有更强的抗攻击性。Java中同样可以使用MessageDigest类来实现SHA算法的加密。具体代码如下:
import java.security.MessageDigest;
import javax.xml.bind.DatatypeConverter;
public String encryptWithSHA(String input) {
try {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(input.getBytes());
byte[] digest = md.digest();
return DatatypeConverter.printHexBinary(digest).toUpperCase();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
3. AES加密算法:
AES是一种对称加密算法,也是目前最常用的加密算法之一。Java中可以使用javax.crypto包提供的Cipher类来实现AES算法的加密和解密。具体代码如下:
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import java.util.Base64;
public String encryptWithAES(String input, String key) {
try {
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(), "AES");
cipher.init(Cipher.ENCRYPT_MODE, secretKey);
byte[] encryptedBytes = cipher.doFinal(input.getBytes());
return Base64.getEncoder().encodeToString(encryptedBytes);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
以上是Java中常见的几种Encryption算法函数,根据实际需求选择合适的算法进行加密。
