21xrx.com
2024-12-23 08:21:52 Monday
登录
文章检索 我的文章 写文章
Java使用DES算法实现加密与解密
2023-06-17 21:50:07 深夜i     --     --

作为一名Java开发者,我觉得实现DES加密算法是非常重要的。因为现如今的大部分应用程序都需要一些加密操作,保证用户的隐私安全。在Java中,我们可以通过javax.crypto和javax.crypto.spec包来实现DES。

下面是一个例子,使用DES算法加密和解密文本:


import javax.crypto.*;

import javax.crypto.spec.*;

import java.security.*;

public class DesExample {

 private static String keyString = "mySecretKey";

 private static String plainText = "Hello World!"; // 待加密的明文

 public static void main(String[] args) {

  try {

   //1.创建一个 KeyGenerator 对象,指定算法类型

   KeyGenerator keyGenerator = KeyGenerator.getInstance("DES");

   //2.创建一个密钥对象,用于加密和解密

   SecretKey secretKey = keyGenerator.generateKey();

   //3.创建一个 Cipher 对象,用于加密和解密

   Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");

   //4.初始化 Cipher 对象,用于加密

   cipher.init(Cipher.ENCRYPT_MODE, secretKey);

   //5.加密明文并输出结果

   byte[] cipherText = cipher.doFinal(plainText.getBytes());

   System.out.println("加密后的密文: " + new String(cipherText));

   //6.初始化 Cipher 对象,用于解密

   cipher.init(Cipher.DECRYPT_MODE, secretKey);

   //7.解密密文并输出结果

   byte[] decryptedText = cipher.doFinal(cipherText);

   System.out.println("解密后的明文: " + new String(decryptedText));

  } catch (NoSuchAlgorithmException | NoSuchPaddingException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException e) {

   e.printStackTrace();

  }

 }

}

其中,关键词为Java、DES、加密。根据这个例子,我们可以轻松地实现DES加密和解密。同时,我们还可以使用其他加密算法,如AES、RSA等。美好的Java世界,加密保护用户隐私更是一项重要的任务。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复