reserve题目笔记和心得分享

举报
yd_296156245 发表于 2026/11/01 14:26:09 2026/11/01
【摘要】 .题目描述:程序员小张不小心弄丢了加密文件用的秘钥,已知还好小张曾经编写了一个秘钥验证算法,聪明的你能帮小张找到秘钥吗? 注意:得到的 flag 请包上 flag{} 提交2.下载附件解压,可以看到是一个.class文件,使用jadx工具反编译,得到如下的java代码3.看下核心代码,先用for循环遍历arr数组取出每一个字符,加上@(查ASCII表,对应64),然后异或32,存到Resul...

.题目描述:程序员小张不小心弄丢了加密文件用的秘钥,已知还好小张曾经编写了一个秘钥验证算法,聪明的你能帮小张找到秘钥吗? 注意:得到的 flag 请包上 flag{} 提交

2.下载附件解压,可以看到是一个.class文件,使用jadx工具反编译,得到如下的java代码


3.看下核心代码,先用for循环遍历arr数组取出每一个字符,加上@(查ASCII表,对应64),然后异或32,存到Resultlist列表,然后初始化一个key数组,
接着遍历key数组,转换成ArrayList类型存到KEYList,最后调用equal函数比较是否相等。

看下核心代码,先用for循环遍历arr数组取出每一个字符,加上@(查ASCII表,对应64),然后异或32,存到Resultlist列表,然后初始化一个key数组,
接着遍历key数组,转换成ArrayList类型存到KEYList,最后调用equal函数比较是否相等。

 复制代码 隐藏代码
    public static void Encrypt(char[] arr) {         ArrayList<Integer> Resultlist = new ArrayList<>();         for (char c : arr) {             int result = (c + '@') ^ 32;             Resultlist.add(Integer.valueOf(result));         }         int[] KEY = {180, 136, 137, 147, 191, 137, 147, 191, 148, 136, 133, 191, 134, 140, 129, 135, 191, 65};         ArrayList<Integer> KEYList = new ArrayList<>();         for (int i : KEY) {             KEYList.add(Integer.valueOf(i));         }         System.out.println("Result:");         if (Resultlist.equals(KEYList)) {             System.out.println("Congratulations!");         } else {             System.err.println("Error!");         }     }
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。