光棍节程序员闯关秀第9关(总共10关) 解题步骤

2022-09-13 13:03:48 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

题目链接: http://segmentfault.com/game/?k=4999c12ce5be7c3cba227ba9f4f7d797

解题步骤:

1. 应景嘛,把所有的空格替换成 1111

2. 8位二进制转换成一个byte, 解释为 ASCII 字符

3. 得到一个 BASE64 加密的字符串

4. 用 BASE64Decoder 解密

5. 另存为 zip 压缩文件

6. 打开文件,发现里面有一幅图片,图片上的字符串就是 key

代码:

// 从 D 盘的 code.txt 读取数据,输出到 D 盘的 decode.zip

public void game1111_9() throws IOException { File file = new File(“D:\code.txt”); BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file))); StringBuffer sb = new StringBuffer(); String line = null; while ((line = br.readLine()) != null) { String[] codes=line.split(” “); for(String code:codes){ char c=(char) Integer.parseInt(code, 2); sb.append(c); } } System.out.println(sb); BASE64Decoder decoder = new BASE64Decoder(); byte[] decodeBuffer = decoder.decodeBuffer(sb.toString()); File decodeFile = new File(“D:\decode.zip”); FileOutputStream fileOutputStream = new FileOutputStream(decodeFile); fileOutputStream.write(decodeBuffer); fileOutputStream.close(); br.close(); }

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160551.html原文链接:https://javaforall.cn

0 人点赞