开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1593|回复: 10
收起左侧

[已解决] AES解密遇到的问题

 关闭 [复制链接]
结帖率:88% (135/154)
发表于 2021-3-3 11:02:51 | 显示全部楼层 |阅读模式   河北省保定市
30精币
  1.     public static String a(String str, String str2) {
  2.         try {
  3.             Cipher instance = Cipher.getInstance("AES/CFB/NoPadding");
  4.             byte[][] a = a(32, 16, null, str.getBytes(Key.STRING_CHARSET_NAME), 0);
  5.             instance.init(1, new SecretKeySpec(a[0], "AES"), new IvParameterSpec(a[1]));
  6.             return a(a(instance.getIV(), instance.doFinal(str2.getBytes(Key.STRING_CHARSET_NAME))));
  7.         } catch (Exception e) {
  8.             e.printStackTrace();
  9.             return null;
  10.         }
  11.     }
复制代码


上边是AES/CFB/NOpadding加密


这个是 a(32, 16, null, str.getBytes(Key.STRING_CHARSET_NAME), 0);  这个a的代码。他是怎么处理的这个 ljhlksslgkjfhlksuo8472rju6p2od03 这个字符串呢

  1.     public static byte[][] a(int i, int i2, byte[] bArr, byte[] bArr2, int i3) throws Exception {
  2.         byte[] digest;
  3.         int i4;
  4.         MessageDigest instance = MessageDigest.getInstance("md5");
  5.         byte[] bArr3 = new byte[i];
  6.         byte[] bArr4 = new byte[i2];
  7.         byte[][] bArr5 = {bArr3, bArr4};
  8.         if (bArr2 == null) {
  9.             return bArr5;
  10.         }
  11.         byte[] bArr6 = null;
  12.         int i5 = i2;
  13.         int i6 = 0;
  14.         int i7 = 0;
  15.         int i8 = i;
  16.         int i9 = 0;
  17.         while (true) {
  18.             instance.reset();
  19.             int i10 = i9 + 1;
  20.             if (i9 > 0) {
  21.                 instance.update(bArr6);
  22.             }
  23.             instance.update(bArr2);
  24.             if (bArr != null) {
  25.                 instance.update(bArr, 0, 8);
  26.             }
  27.             digest = instance.digest();
  28.             for (int i11 = 1; i11 < i3; i11++) {
  29.                 instance.reset();
  30.                 instance.update(digest);
  31.                 digest = instance.digest();
  32.             }
  33.             if (i8 > 0) {
  34.                 i4 = 0;
  35.                 while (i8 != 0 && i4 != digest.length) {
  36.                     bArr3[i6] = digest[i4];
  37.                     i8--;
  38.                     i4++;
  39.                     i6++;
  40.                 }
  41.             } else {
  42.                 i4 = 0;
  43.             }
  44.             if (i5 > 0 && i4 != digest.length) {
  45.                 while (i5 != 0 && i4 != digest.length) {
  46.                     bArr4[i7] = digest[i4];
  47.                     i5--;
  48.                     i4++;
  49.                     i7++;
  50.                 }
  51.             }
  52.             if (i8 == 0 && i5 == 0) {
  53.                 break;
  54.             }
  55.             i9 = i10;
  56.             bArr6 = digest;
  57.         }
  58.         for (int i12 = 0; i12 < digest.length; i12++) {
  59.             digest[i12] = 0;
  60.         }
  61.         return bArr5;
  62.     }
复制代码




有没有懂java的大神帮忙看一下

最佳答案


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:75% (3/4)

签到天数: 8 天

发表于 2021-3-3 11:02:52 | 显示全部楼层   山东省聊城市
apk发出来吧

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:25% (1/4)

签到天数: 10 天

发表于 2021-3-3 11:20:12 | 显示全部楼层   河南省焦作市
你这个需要APP   具体分析的。静态也是可以看  但是效果不太好
回复

使用道具 举报

结帖率:75% (3/4)

签到天数: 8 天

发表于 2021-3-3 11:30:13 | 显示全部楼层   山东省聊城市
Key.STRING_CHARSET_NAME  找出来
回复

使用道具 举报

结帖率:79% (11/14)
发表于 2021-3-3 11:30:17 | 显示全部楼层   上海市上海市
花钱定制吧
回复

使用道具 举报

结帖率:88% (135/154)

签到天数: 1 天

 楼主| 发表于 2021-3-3 11:49:59 | 显示全部楼层   河北省保定市
小七先生 发表于 2021-3-3 11:30
Key.STRING_CHARSET_NAME  找出来
  1. package com.bumptech.glide.load;

  2. import android.support.annotation.NonNull;
  3. import java.nio.charset.Charset;
  4. import java.security.MessageDigest;

  5. public interface Key {
  6.     public static final Charset CHARSET = Charset.forName(STRING_CHARSET_NAME);
  7.     public static final String STRING_CHARSET_NAME = "UTF-8";

  8.     boolean equals(Object obj);

  9.     int hashCode();

  10.     void updateDiskCacheKey(@NonNull MessageDigest messageDigest);
  11. }
复制代码
回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 2 天

发表于 2021-3-3 17:35:58 | 显示全部楼层   广东省广州市
byte[][] bArr5 = {bArr3, bArr4}
讲str传入后DM5计算 生成1个二维数组  分别作为 key和  iv
回复

使用道具 举报

结帖率:88% (135/154)

签到天数: 1 天

 楼主| 发表于 2021-3-3 18:31:14 | 显示全部楼层   河北省保定市
明明明明 发表于 2021-3-3 17:35
byte[][] bArr5 = {bArr3, bArr4}
讲str传入后DM5计算 生成1个二维数组  分别作为 key和  iv ...

能不能转成易语言代码我用MD5加密后的数据试了一下。还是解密不了
回复

使用道具 举报

发表于 2021-3-3 20:12:15 | 显示全部楼层   河北省石家庄市
有没有原文和加密后的数据。给一组。
回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 2 天

发表于 2021-3-3 20:42:25 | 显示全部楼层   广东省广州市
Sylas 发表于 2021-3-3 18:31
能不能转成易语言代码我用MD5加密后的数据试了一下。还是解密不了 ...

原文和加密的结果发来
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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