21xrx.com
2025-03-25 02:30:40 Tuesday
文章检索 我的文章 写文章
我学习Java中的DES加密解密
2023-06-10 19:15:42 深夜i     11     0
Java DES 加密解密算法

作为一名Java开发者,我一直对加密解密算法着迷。最近,我开始了解DES加密解密算法,并希望能与大家分享一些我的经验。

首先,让我们回顾一下DES加密解密算法是如何工作的。简单来说,它使用一个密钥来将明文加密成密文,并使用相同的密钥来将密文解密回明文。由于该密钥仅存储在发送方和接收方中,因此这种算法非常安全。

让我们看一下Java中如何实现DES加密解密。以下是我的代码示例:

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import java.security.SecureRandom;
public class DESExample {
  public static void main(String[] args) {
    try {
      String plainText = "Hello World";
      String encryptionKey = "MySecretKey";
      byte[] encryptedBytes = encrypt(plainText, encryptionKey);
      String decryptedText = decrypt(encryptedBytes, encryptionKey);
      System.out.println("Plain Text: " + plainText);
      System.out.println("Encrypted Text: " + new String(encryptedBytes));
      System.out.println("Decrypted Text: " + decryptedText);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
  private static byte[] encrypt(String plainText, String encryptionKey) throws Exception{
    SecureRandom secureRandom = new SecureRandom(encryptionKey.getBytes());
    KeyGenerator keyGenerator = KeyGenerator.getInstance("DES");
    keyGenerator.init(secureRandom);
    SecretKey secretKey = keyGenerator.generateKey();
    Cipher cipher = Cipher.getInstance("DES");
    cipher.init(Cipher.ENCRYPT_MODE, secretKey);
    return cipher.doFinal(plainText.getBytes());
  }
  private static String decrypt(byte[] encryptedBytes, String encryptionKey) throws Exception{
    SecureRandom secureRandom = new SecureRandom(encryptionKey.getBytes());
    KeyGenerator keyGenerator = KeyGenerator.getInstance("DES");
    keyGenerator.init(secureRandom);
    SecretKey secretKey = keyGenerator.generateKey();
    Cipher cipher = Cipher.getInstance("DES");
    cipher.init(Cipher.DECRYPT_MODE, secretKey);
    byte[] decryptedBytes = cipher.doFinal(encryptedBytes);
    return new String(decryptedBytes);
  }
}

如您所见,我们需要使用javax.crypto包中的类来执行加密解密操作。我们需要指定要使用的算法和密钥生成器。

三个

文章总结:Java中实现DES加密解密只需使用javax.crypto包中的类,指定算法和密钥生成器即可。该算法是非常安全的,因为密钥仅存储在发送方和接收方之间。

  
  

评论区

    相似文章
请求出错了