21xrx.com
2024-11-22 07:00:45 Friday
登录
文章检索 我的文章 写文章
Java对称加密最基础实现:DES加密算法
2023-06-11 00:40:20 深夜i     --     --
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加密算法有了更深入的了解。

  
  

评论区

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