在Java中,常用的对称加密算法包括:
DES (Data Encryption Standard):
使用56位密钥,速度较快,但安全性较低。
3DES (Triple Data Encryption Standard):
基于DES,使用三个不同的密钥进行三次加密,提高了安全性。
AES (Advanced Encryption Standard):
目前最广泛使用的对称加密标准,支持128位、192位和256位密钥长度,具有高安全性和高效率。
IDEA (International Data Encryption Algorithm):
使用128位密钥,是一种较早期的加密算法。
Blowfish:
支持变长密钥,在性能和安全性之间有良好的平衡。
PBE (Password-Based Encryption):
结合消息摘要算法和对称加密算法,但推荐的工作模式CBC已丧失安全性,不推荐使用。

这些算法在Java中可以通过`Cipher`类进行加密和解密操作。例如,使用AES加密的代码如下:
import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec;import java.util.Base64;public class AESExample {public static void main(String[] args) throws Exception {String algorithm = "AES";String secretKey = "45678"; // 16 bytes for AES-128String data = "Hello, World!";Cipher cipher = Cipher.getInstance(algorithm);cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(secretKey.getBytes(), algorithm));byte[] encryptedBytes = cipher.doFinal(data.getBytes());String encryptedData = Base64.getEncoder().encodeToString(encryptedBytes);System.out.println("Encrypted Data: " + encryptedData);}}
请根据具体需求选择合适的算法,并注意密钥管理和加密模式的选择,以确保数据的安全性
