zoukankan      html  css  js  c++  java
  • AES加解密过程

     1 package com.pff.pff;
     2 
     3 import java.security.SecureRandom;
     4 
     5 import javax.crypto.Cipher;
     6 import javax.crypto.KeyGenerator;
     7 import javax.crypto.SecretKey;
     8 import javax.crypto.spec.SecretKeySpec;
     9 
    10 import org.apache.commons.codec.binary.Hex;
    11 
    12 public class Aes {
    13 
    14     private static String test = "pff";
    15 
    16     public static void main(String[] args) {
    17         testDes();
    18     }
    19 
    20     public static void testDes() {
    21         try {
    22             // 生成秘钥
    23             KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
    24             keyGenerator.init(new SecureRandom());
    25             SecretKey generateKey = keyGenerator.generateKey();
    26             byte[] encoded = generateKey.getEncoded();
    27             // 秘钥转换
    28             SecretKeySpec secretKeySpec = new SecretKeySpec(encoded, "AES");
    29             // DES加密过程
    30             Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5padding");
    31             cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec);
    32             byte[] result = cipher.doFinal(test.getBytes());
    33             System.out.println("AES加密过程结果= " + Hex.encodeHexString(result));
    34             // 解密过程
    35             cipher.init(Cipher.DECRYPT_MODE, secretKeySpec);
    36             byte[] result2 = cipher.doFinal(result);
    37             System.out.println("AES解密过程结果= " + new String(result2));
    38         } catch (Exception e) {
    39             e.printStackTrace();
    40         }
    41     }
    42 }
  • 相关阅读:
    Java算法练习——整数反转
    Java算法练习—— Z 字形变换
    Java算法练习——最长回文子串
    vs code自动生成html代码
    thinkphp整合后台模板
    composer安装后台模板
    composer(作曲家)安装php-ml
    两个网站
    PHP的开源产品discuz
    onethink中的用户登录session签名
  • 原文地址:https://www.cnblogs.com/wings-ff/p/9229219.html
Copyright © 2011-2022 走看看