reserve题目笔记和心得分享
【摘要】 .题目描述:程序员小张不小心弄丢了加密文件用的秘钥,已知还好小张曾经编写了一个秘钥验证算法,聪明的你能帮小张找到秘钥吗? 注意:得到的 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)