开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 974|回复: 9
收起左侧

[已解决] 这个字节操作,怎么用易语言写出来?

 关闭 [复制链接]

结帖率:95% (19/20)
发表于 2021-9-17 19:10:27 | 显示全部楼层 |阅读模式   河南省商丘市
6精币
输出的结果为:llPoQifXmsReiAnPqnTYq2mdpQrXpcvi----pbkdPYTdeWapucdQ

  1. package yzg;

  2. public class getkeyiv {

  3.         private static String TOKEN = null;
  4.         private static byte[] LOGIN_KEY_SEED = null;

  5.         static {
  6.                 getkeyiv.LOGIN_KEY_SEED = "This4059is021uleloginShangHaiULE".getBytes();
  7.                 getkeyiv.TOKEN = "c8398ea0ae6b495ab703a5bd6a9b6fdb";
  8.         }

  9.         public static void main(String[] arg3) throws Exception {
  10.                 String Key = getLoginKey(getkeyiv.TOKEN);
  11.                 String Iv = getLoginIv(getkeyiv.TOKEN);
  12.                 System.out.print(Key + "----" + Iv);

  13.         }

  14.         public static String getLoginKey(String arg3) throws Exception {
  15.                 byte[] v3 = arg3.getBytes();
  16.                 getkeyiv.showBytes(v3);
  17.                 byte[] v3_1 = getkeyiv.swap12(v3);
  18.                 getkeyiv.showBytes(v3_1);
  19.                 byte[] v3_2 = getkeyiv.byteXOR(v3_1, getkeyiv.LOGIN_KEY_SEED);
  20.                 getkeyiv.showBytes(v3_2);
  21.                 return new String(v3_2);
  22.         }

  23.         public static String getLoginIv(String arg4) throws Exception {
  24.                 byte[] v1 = arg4.getBytes();
  25.                 getkeyiv.showBytes(v1);
  26.                 byte[] v1_1 = getkeyiv.swap12(v1);
  27.                 getkeyiv.showBytes(v1_1);
  28.                 int v4 = arg4.length() / 2;
  29.                 byte[] v2 = new byte[v4];
  30.                 byte[] v3 = new byte[v4];
  31.                 System.arraycopy(((Object) v1_1), 0, ((Object) v2), 0, v4);
  32.                 System.arraycopy(((Object) v1_1), v4, ((Object) v3), 0, v4);
  33.                 byte[] v4_1 = getkeyiv.byteXOR(v2, v3);
  34.                 getkeyiv.showBytes(v4_1);
  35.                 return new String(v4_1);
  36.         }

  37.         public static void showBytes(byte[] arg5) {
  38.                 StringBuilder v0 = new StringBuilder();
  39.                 v0.append("[ ");
  40.                 int v2;
  41.                 for (v2 = 0; v2 < arg5.length; ++v2) {
  42.                         v0.append(arg5[v2] + " ");
  43.                 }
  44.                 v0.append("]");
  45.         }

  46.         public static byte[] swap12(byte[] arg4) {
  47.                 int v0;
  48.                 for (v0 = 0; v0 < arg4.length; v0 += 2) {
  49.                         byte v1 = arg4[v0];
  50.                         int v2 = v0 + 1;
  51.                         arg4[v0] = arg4[v2];
  52.                         arg4[v2] = v1;
  53.                 }

  54.                 return arg4;
  55.         }

  56.         public static byte[] byteXOR(byte[] arg6, byte[] arg7) throws Exception {
  57.                 if (arg6.length == arg7.length) {
  58.                         int v0 = arg6.length <= arg7.length ? arg6.length : arg7.length;
  59.                         byte[] v1 = new byte[v0];
  60.                         int v3;
  61.                         for (v3 = 0; v3 < v0; ++v3) {
  62.                                 v1[v3] = (byte) (arg6[v3] ^ arg7[v3]);
  63.                         }

  64.                         int v6;
  65.                         for (v6 = 0; v6 < v1.length; ++v6) {
  66.                                 if ((v1[v6] < 0x30 || v1[v6] > 57) && (v1[v6] < 65 || v1[v6] > 90) && (v1[v6] < 97 || v1[v6] > 0x7A)) {
  67.                                         v1[v6] = (byte) (Math.abs(v1[v6]) % 25 + 97);
  68.                                 }
  69.                         }

  70.                         return v1;
  71.                 }
  72.                 throw new Exception("两个字节数组长度不一");
  73.         }

  74. }
复制代码



最佳答案

查看完整内容

目测就是位操作啥的也不难 自己耐心点翻译下就行了~

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

签到天数: 2 天

发表于 2021-9-17 19:10:28 高大上手机用户 | 显示全部楼层   保留地址
目测就是位操作啥的也不难 自己耐心点翻译下就行了~


回复

使用道具 举报

结帖率:0% (0/1)
发表于 2021-9-17 19:16:01 | 显示全部楼层   河北省石家庄市
这么多,精币!=RMB啊老板
回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 2 天

发表于 2021-9-17 19:28:22 | 显示全部楼层   福建省厦门市
不难 好长 6jb
回复

使用道具 举报

结帖率:100% (7/7)
发表于 2021-9-17 20:04:52 | 显示全部楼层   重庆市重庆市
多签到吧,你这几个币,代码这么多,很难搞。
回复

使用道具 举报

发表于 2021-9-17 20:07:53 | 显示全部楼层   河南省新乡市
定制区 欢迎 翻译
回复

使用道具 举报

结帖率:67% (4/6)
发表于 2021-9-18 11:07:42 | 显示全部楼层   河北省石家庄市
大概就是这样吧
VX截图_20210918110704.png

点评

嗯,是的,源码呢?   河南省商丘市  详情 回复 发表于 2021-9-18 18:15
回复

使用道具 举报

发表于 2021-9-18 11:46:32 | 显示全部楼层   黑龙江省哈尔滨市
1.35k个jb帮你翻译成e怎样
回复

使用道具 举报

签到天数: 2 天

发表于 2021-9-18 13:26:55 | 显示全部楼层   河北省石家庄市
不难,就是费手指头,这几个币....
回复

使用道具 举报

结帖率:95% (19/20)

签到天数: 3 天

 楼主| 发表于 2021-9-18 18:15:56 | 显示全部楼层   河南省商丘市

嗯,是的,源码呢?
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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