javaAES加密解密

Posted 跳梁小豆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaAES加密解密相关的知识,希望对你有一定的参考价值。

创建主函数测试

  public static void main(String[] args) throws Exception {
        
        String data = "跳梁小豆tlxd666";
        //创建秘钥生成器                           算法名称
        KeyGenerator kg = KeyGenerator.getInstance("DESede");
        kg.init(168);//初始化秘钥长度
        SecretKey secretkey = kg.generateKey();//通过秘钥生成器生成秘钥
        String str = new String(Hex.encodeHex(secretkey.getEncoded()));//把秘钥转为字符串,方便查看
        System.out.println("秘钥:"+str);
        
        
        //加密工作
        Cipher cipher = Cipher.getInstance("DESede");//Cipher作用完成加密和解密工作的
        cipher.init(Cipher.ENCRYPT_MODE, secretkey);//初始化,加密模式,秘钥
        byte[] b = cipher.doFinal(data.getBytes());//加密,得到一个新的字符数组
        str = new String(Hex.encodeHex(b));
        System.out.println("加密后:"+str);
        
        //解密工作
        cipher.init(Cipher.DECRYPT_MODE,secretkey);//初始化,解密模式,秘钥
        byte[] b2 = cipher.doFinal(b);
        String result = new String(b2);
        System.out.println("解密后:"+result);
    }

 

以上是关于javaAES加密解密的主要内容,如果未能解决你的问题,请参考以下文章

JavaAes加密操作工具类

Java AES 128 加密方式与 openssl 不同

JAVA AES加密

Java 中的 AES 128 加密 PHP 中的解密

Java AES 密文大小

Java AES/GCM/NoPadding 加密在 doFinal 之后不会增加 IV 的计数器