zoukankan      html  css  js  c++  java
  • 对称加密

    AES:

    package com.example.wuji.jiami;
    import com.sun.org.apache.xml.internal.security.utils.Base64;
    import javax.crypto.Cipher;
    import javax.crypto.spec.SecretKeySpec;
    /**
     * 对称加密 AES
     */
    public class Aes {
        public static void main(String[] args) throws Exception {
            String jin = "jinxudong";
            //DES加密 只允许密钥是16个字节的
            String key = "1234567890asdfgh";
            String sf = "AES";
            String str = jiami(key, sf, jin);
            System.out.println("AES加密后:" + str);
            str = jiemi(key, sf, str);
            System.out.println("AES解密后:" + str);
        }
        /**
         * 加密
         *
         * @param key     密钥
         * @param jiami   加密算法
         * @param content 加密内容
         * @return
         * @throws Exception
         */
        private static String jiami(String key, String jiami, String content) throws Exception {
            Cipher cipher = Cipher.getInstance(jiami);
            //加密规则
            SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(), jiami);
            //加密模式 加密规则
            cipher.init(Cipher.ENCRYPT_MODE, secretKey);
            //执行加密方法
            byte[] l = cipher.doFinal(content.getBytes());
            String str = Base64.encode(l);
            return str;
        }
        /**
         * 解密
         *
         * @param key     密钥
         * @param jiami   算法
         * @param content 解密内容
         * @return
         * @throws Exception
         */
        private static String jiemi(String key, String jiami, String content) throws Exception {
            Cipher cipher = Cipher.getInstance(jiami);
            //加密规则
            SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(), jiami);
            //加密模式 加密规则 解密 DECRYPT
            cipher.init(Cipher.DECRYPT_MODE, secretKey);
            //执行解密方法
            byte[] str = Base64.decode(content.getBytes());
            byte[] ss = cipher.doFinal(str);
            return new String(ss);
        }
    }

    DES:

    package com.example.wuji.jiami;
    import com.sun.org.apache.xml.internal.security.utils.Base64;
    import javax.crypto.Cipher;
    import javax.crypto.spec.SecretKeySpec;
    /**
     * 对称加密 DES
     */
    public class Des {
        public static void main(String[] args) throws Exception {
            String jin = "jinxudong";
            //DES加密 只允许密钥是8个字节的
            String key = "12345678";
            String sf = "DES";
            String str = jiami(key, sf, jin);
            System.out.println("DES加密后:" + str);
            str = jiemi(key, sf, str);
            System.out.println("DES解密后:" + str);
        }
        /**
         * 加密
         *
         * @param key     密钥
         * @param jiami   加密算法
         * @param content 加密内容
         * @return
         * @throws Exception
         */
        private static String jiami(String key, String jiami, String content) throws Exception {
            Cipher cipher = Cipher.getInstance(jiami);
            //加密规则
            SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(), jiami);
            //加密模式 加密规则
            cipher.init(Cipher.ENCRYPT_MODE, secretKey);
            //执行加密方法
            byte[] l = cipher.doFinal(content.getBytes());
            String str = Base64.encode(l);
            return str;
        }
        /**
         * 解密
         *
         * @param key     密钥
         * @param jiami   算法
         * @param content 解密内容
         * @return
         * @throws Exception
         */
        private static String jiemi(String key, String jiami, String content) throws Exception {
            Cipher cipher = Cipher.getInstance(jiami);
            //加密规则
            SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(), jiami);
            //加密模式 加密规则 解密 DECRYPT
            cipher.init(Cipher.DECRYPT_MODE, secretKey);
            //执行解密方法
            byte[] str = Base64.decode(content.getBytes());
            byte[] ss = cipher.doFinal(str);
            return new String(ss);
        }
    }
  • 相关阅读:
    已设定选项readonly请加!强制执行
    Linux下NVIDIA显卡驱动安装方法
    C#使用MiniDump导出内存快照MiniDumper
    一些陈旧的注册表垃圾清理脚本:注册表冗余数据清理.reg
    脚本精灵一些脚本
    本地安装SonarQube Community8.1社区版进行代码质量管控
    spring redistemplate中使用setHashValueSerializer的设置hash值序列化方法
    spring-core-5.0.6.RELEASE-sources.jar中java源代码不全
    lombok插件/slf4j中字符串格式化
    light4j/light-4j一个轻量级的低延时、高吞吐量、内存占用量小的API平台
  • 原文地址:https://www.cnblogs.com/coderdxj/p/14409383.html
Copyright © 2011-2022 走看看