21xrx.com
2025-03-24 02:11:16 Monday
文章检索 我的文章 写文章
Java对称加密最基础实现:DES加密算法
2023-06-11 00:40:20 深夜i     14     0
Java DES加密 对称加密算法

我在学习Java加密过程中,深入了解了DES加密算法。DES加密算法是一种对称加密算法,在Java中实现起来十分简单。我在这里与大家分享一下我写的Java代码。

示例代码:

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import java.nio.charset.StandardCharsets;
import java.security.SecureRandom;
public class DesEncrypt {
  public static void main(String[] args) {
    String content = "这是一段需要加密的内容";
    String password = "12345678";
    byte[] result = encrypt(content, password);
    System.out.println("加密后的内容:" + new String(result, StandardCharsets.UTF_8));
  }
  public static byte[] encrypt(String content, String password) {
    try {
      SecureRandom random = new SecureRandom();
      DESKeySpec desKey = new DESKeySpec(password.getBytes());
      SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
      SecretKey secretKey = keyFactory.generateSecret(desKey);
      Cipher cipher = Cipher.getInstance("DES");
      cipher.init(Cipher.ENCRYPT_MODE, secretKey, random);
      return cipher.doFinal(content.getBytes(StandardCharsets.UTF_8));
    } catch (Exception e) {
      e.printStackTrace();
    }
    return new byte[0];
  }
}

在这段代码中,我使用了Java提供的Cipher类进行DES加密,先使用SecretKeyFactory将密钥按照DESKeySpec转换为SecretKey,然后使用Cipher进行加密操作。

我相信通过这个简单的示例,大家对Java中的DES加密算法有了更深入的了解。

  
  

评论区