永发信息网

AES逆向求帮助

答案:2  悬赏:10  手机版
解决时间 2021-02-23 17:35
AES逆向求帮助
最佳答案
AES加密类源码
package com.szzc.volley.utils;

import java.security.Security;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import org.bouncycastle.jce.provider.BouncyCastleProvider;

public class CryptAESNew
{
  private static final String key = "shenzhoucar123123";
  private Cipher dCipher;
  private Cipher eCipher;
  private byte[] iv = { 10, 1, 11, 5, 4, 15, 7, 9, 23, 3, 1, 6, 8, 12, 13, 91 };
  private SecretKeySpec sKey;

  static
  {
    Security.addProvider(new BouncyCastleProvider());
  }

  public CryptAESNew()
  {
    byte[] arrayOfByte1 = new byte[16];
    try
    {
      byte[] arrayOfByte2 = "shenzhoucar123123".getBytes("UTF-8");
      for (int i = 0; ; i++)
      {
        if (i >= "shenzhoucar123123".length());
        do
        {
          IvParameterSpec localIvParameterSpec = new IvParameterSpec(this.iv);
          this.sKey = new SecretKeySpec(arrayOfByte1, "AES");
          this.eCipher = Cipher.getInstance("AES/CBC/PKCS7Padding");
          this.eCipher.init(1, this.sKey, localIvParameterSpec);
          this.dCipher = Cipher.getInstance("AES/CBC/PKCS7Padding");
          this.dCipher.init(2, this.sKey, localIvParameterSpec);
          return;
        }
        while (i >= arrayOfByte1.length);
        arrayOfByte1[i] = arrayOfByte2[i];
      }
    }
    catch (Exception localException)
    {
      localException.printStackTrace();
    }
  }

  private byte[] decrypt(byte[] paramArrayOfByte)
    throws IllegalBlockSizeException, BadPaddingException
  {
    return this.dCipher.doFinal(paramArrayOfByte);
  }

  private byte[] encrypt(byte[] paramArrayOfByte)
    throws IllegalBlockSizeException, BadPaddingException
  {
    return this.eCipher.doFinal(paramArrayOfByte);
  }

  public String onDecrypt(String paramString)
  {
    try
    {
      String str = new String(decrypt(Base64Decoder.decodeToBytes(paramString)));
      return str;
    }
    catch (Exception localException)
    {
      localException.printStackTrace();
    }
    return "";
  }

  public String onEncrypt(String paramString)
  {
    try
    {
      String str = Base64Encoder.encode(encrypt(paramString.getBytes("UTF-8")));
      return str;
    }
    catch (Exception localException)
    {
      localException.printStackTrace();
    }
    return "";
  }
}
全部回答
你说呢...
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
框镜和隐形眼镜如何交替配带?
Audio Device on High Definition Audio Bus
在饭店工作辛苦吗?
潍日高速建成后,潍坊到临沂走高速能走着吗?
鲷鱼是章红鱼吗?
运行全屏游戏之后,屏幕被横向拉长了~!!怎么
学会包容的实际事例有哪些
女生组合名字
【como】como是什么意思
求电视剧思美人同名小说
轴承一般不标注游隙等级的游隙为c几?
怎样将流程图和箭头、直线组合在一起?
三一365挖掘机时间是怎么控制的
重庆鲜面条里面加有什么东西
从乌鲁木齐开车到徐州,全程高速,收费多少?
推荐资讯
无花果树应该如何剪枝?
中国国航飞机ca1802与ca978有什么不同
CF王者之戮怎么获得 CF王者之戮获得方法
棺姬嘉依卡漫画为什么只有25话
某施工队要修建一个横截面为抛物线的公路隧道
买房一定要迁户口吗
南海迅发我想知道这个在什么地方
欧诗漫水氧活能洁面乳是很稀,像流状的吗
14款宝来行车记录仪保险盒取电哪个位置合适
信用卡买的火车票,微信显示已退款,可没收到钱
想知道:琼海市 从琼海车站到潭门镇怎么坐公交
手撕兔怎么做?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?