教学服务系统

 找回密码
 立即注册
搜索
查看: 666|回复: 1

信息计算2019级2班4号袁敏婷

[复制链接]

8

主题

19

帖子

122

积分

注册会员

Rank: 2

积分
122
发表于 2022-4-5 16:05:04 | 显示全部楼层 |阅读模式
本帖最后由 袁敏婷 于 2022-4-5 16:50 编辑

4.5MOOC视频

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

8

主题

19

帖子

122

积分

注册会员

Rank: 2

积分
122
 楼主| 发表于 2022-4-5 21:18:00 | 显示全部楼层
  1. package mimaxue;
  2. import java.util.Base64;
  3. import javax.crypto.Cipher;
  4. import javax.crypto.spec.IvParameterSpec;
  5. import javax.crypto.spec.SecretKeySpec;
  6. public class AES {
  7.     private static final String defaultV = "6859505890402435";
  8.     private static final String key = "好好学习,天天向上";
  9.     private static SecretKeySpec getKey(String strKey) throws Exception {
  10.         byte[] arrBTmp = strKey.getBytes();
  11.         byte[] arrB = new byte[16];
  12.         for (int i = 0; i < arrBTmp.length && i < arrB.length; i++) {
  13.             arrB[i] = arrBTmp[i];
  14.         }
  15.         SecretKeySpec skeySpec = new SecretKeySpec(arrB, "AES");
  16.         return skeySpec;
  17.     }
  18.    
  19.     public static String encryptBase64(String content) throws Exception {
  20.                 final Base64.Encoder encoder = Base64.getEncoder();
  21.         SecretKeySpec skeySpec = getKey(key);
  22.         Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
  23.         IvParameterSpec iv = new IvParameterSpec(defaultV.getBytes());
  24.         cipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv);
  25.         byte[] encrypted = cipher.doFinal(content.getBytes());
  26.         String encodedText = encoder.encodeToString(encrypted);
  27.         return encodedText;
  28.     }
  29.    
  30.     public static String decryptBase64(String content) throws Exception {
  31.             final Base64.Decoder decoder = Base64.getDecoder();
  32.             SecretKeySpec skeySpec = getKey(key);
  33.         Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
  34.         IvParameterSpec iv = new IvParameterSpec(defaultV.getBytes());
  35.         cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
  36.         byte[] base64 = decoder.decode(content);
  37.         byte[] original = cipher.doFinal(base64);
  38.         String originalString = new String(original);
  39.         return originalString;
  40.     }

  41.     public static void main(String[] args) throws Exception {
  42.             String encryptBase64 = encryptBase64("明文:信息计算2019级2班4号袁敏婷");
  43.             System.out.println("密文:"+encryptBase64);
  44.             String decryptBase64 = decryptBase64(encryptBase64);
  45.             System.out.println(decryptBase64);
  46.         }
  47. }
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

教学服务系统

GMT+8, 2025-5-6 09:51 , Processed in 0.013379 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表