|
本帖最后由 yshell 于 2016-12-7 06:21 编辑
很久没有发帖来了,今天写一篇分析android算法的文章
招财app safejson的加密解密算法,翻译到易语言,比较简单的app,希望能给网友们一点参考经验
首先定位safejson加密代码处:
随便搜一下就找到算法SafeEncode类
- C:\Users\Administrator\Desktop\kjkj.zhaocai.wealth_3.2.5_46.jar!\kjkj\zhaocai\wealth\object\SafeEncode.class
复制代码
我就在下面一句一句的翻译了,(日了狗,第一次发布后,下面的java代码及翻译都消失了.....又得重新写...)
public class SafeEncode
{
private static String key = "hopeandhonour";
private static String md5Key = MD5.getCodeMd5(key); //也就是1e0a5bda50655454cd41359411eee0ee
//解密算法
public static String decodeZhaocai(String paramString)
throws IOException
{//将参数进行base64解码
byte[] arrayOfByte1 = Base64.decode(paramString.getBytes("UTF-8"));
//将md5key转换成字节数组
byte[] arrayOfByte2 = md5Key.getBytes("UTF-8");
int i = arrayOfByte2.length;
//创建一个新的字节数组,长度和参数base64解码后的一样
byte[] arrayOfByte3 = new byte[arrayOfByte1.length];
int j = arrayOfByte1.length;
//遍历arrayOfByte1
for (int k = 0;; k++)
{
if (k >= j) { //如果遍历完arrayOfByte1的所有字节
//将arrayOfByte3转换成字符串返回
return new String(arrayOfByte3, 0, arrayOfByte3.length);
}
//将参数base64解密后的字节 减去 md5Key的字节 k为0-参数base64解密后的字节长度 i为 md5Key的长度32 k%i 也就是0-31 一直到遍历完
arrayOfByte3[k] = ((byte)(arrayOfByte1[k] - arrayOfByte2[(k % i)]));
}
}
//加密算法
public static String encodeZhaocai(String paramString)
{
try
{
//将参数转换为字节数组
byte[] arrayOfByte1 = paramString.getBytes("UTF-8");
byte[] arrayOfByte2 = md5Key.getBytes("UTF-8");
int i = arrayOfByte2.length;
int j = arrayOfByte1.length;
byte[] arrayOfByte3 = new byte[j];
String str;
//遍历参数所有字节
for (int k = 0;; k++)
{
if (k >= j) //如果遍历完参数所有字节
{
//将加完后的字节数组进行base64编码
byte[] arrayOfByte4 = Base64.encodebyte(arrayOfByte3);
str = new String(arrayOfByte4, 0, arrayOfByte4.length);
break;
}
//将参数的每一个字节加上md5Key所对应的字节 和上面解密是一样的 一个是b64完减去key 一个是加上key后b64
arrayOfByte3[k] = ((byte)(arrayOfByte1[k] + arrayOfByte2[(k % i)]));
}
return str;
}
catch (UnsupportedEncodingException localUnsupportedEncodingException)
{
localUnsupportedEncodingException.printStackTrace();
str = "";
}
}
}
像对应的易语言代码,我就不放源代码了,免得别有用心的人直接拿去了,,只截图了加密,有需要的或者是练习的,自己照着写解密算法,发帖只为帮助新手
求好评,求搞基
|
android, 易语言, java, 文章, 加密, android, java, android, java, android, java
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
参与人数 5 | 好评 +3 |
精币 +10 |
收起
理由
|
421220065
| |
+ 1 |
支持开源~!感谢分享 |
夏天大大
| |
+ 1 |
感谢发布原创作品,精易因你更精彩! |
Cand
| + 1 |
+ 5 |
感谢发布原创作品,一定好好学习,天天向上 |
逆袭撸破
| + 1 |
+ 2 |
已经在付费学习,奈何没有java基础,步步艰难 |
Aurora
| + 1 |
+ 1 |
那么问题来了,大神能带我飞吗 |
查看全部评分
|