Java 基于Hutool实现DES加解密
  aLEip5Sge3mS 2023年11月05日 40 0

POM.XML配置

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.shouke</groupId>
    <artifactId>des-utils</artifactId>
    <version>1.0</version>

    <properties>
        <java.version>1.8</java.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>4.1.0</version>
        </dependency>
    </dependencies>
</project>

代码实现

package com.shouke.utils;

import cn.hutool.core.codec.Base64;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.crypto.symmetric.DES;
import cn.hutool.crypto.symmetric.SymmetricAlgorithm;

/**
 * @description:对称加密
 */
public class DesUtil {

    private static final String KEY = "jPQQqFT3lwg=";

    /**
     * 根据KEY生成DES
     */
    private static final DES DES = SecureUtil.des(SecureUtil.generateKey(SymmetricAlgorithm.DES.getValue(), KEY.getBytes()).getEncoded());

    /**
     * 获取加密后信息
     *
     * @param plainText 明文
     * @return 加密后信息
     */
    public static String getEncryptData(String plainText) {
        return DES.encryptHex(plainText); // 加密为16进制
    }

    /**
     * 获取解密后信息
     *
     * @param cipherText 密文
     * @return 解密后信息
     */
    public static String getDecryptData(String cipherText) {
        return DES.decryptStr(cipherText);
    }

    /**
     * 生成密钥,并转为字符串,可以储存起来,解密时可直接使用
     *
     * @return 密钥
     */
    public static String getSecretKey() {
        byte[] key = SecureUtil.generateKey(SymmetricAlgorithm.DES.getValue()).getEncoded(); // 随机生成秘钥
        return Base64.encode(key);
    }

    public static void main(String[] args) {
        System.out.println(getEncryptData("shouke")); // 输出:21e995a30ccbfa38
    }
}

=文章篇幅过短,不允许发布,添加文字占位符,无其它含义======
=文章篇幅过短,不允许发布,添加文字占位符,无其它含义======
=文章篇幅过短,不允许发布,添加文字占位符,无其它含义======
=文章篇幅过短,不允许发布,添加文字占位符,无其它含义======
=文章篇幅过短,不允许发布,添加文字占位符,无其它含义======
=文章篇幅过短,不允许发布,添加文字占位符,无其它含义======
=文章篇幅过短,不允许发布,添加文字占位符,无其它含义======
=文章篇幅过短,不允许发布,添加文字占位符,无其它含义======
=文章篇幅过短,不允许发布,添加文字占位符,无其它含义======
=文章篇幅过短,不允许发布,添加文字占位符,无其它含义======
=文章篇幅过短,不允许发布,添加文字占位符,无其它含义======

作者:授客


Git地址:https://gitee.com/ishouke


友情提示:限于时间仓促,文中可能存在错误,欢迎指正、评论!


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   53   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   107   0   0 Java
  8s1LUHPryisj   2024年05月17日   46   0   0 Java
  aRSRdgycpgWt   2024年05月17日   47   0   0 Java
aLEip5Sge3mS