- 浏览: 800820 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
xueweiabcok:
PowerDesigner15官方正式版+注册补丁 -
春天好:
博主写的很好,赞一个,多谢分享 *(^-^*)分享一个免费好用 ...
爬虫技术 -
零度弥合:
每天进步1%,那你一百天就成神啦。
Linux下Grails开发环境变量配置 -
dajian0822:
问下,那你显示存储CKEditor文本存储后,在用CKEdit ...
CKEditor学习笔记 -
mengfei86:
...
爬虫技术
以下程序是一个信息编码的程序,阅读其encode部分,并补全其decode部分
最后运行程序,会打印出的一句话。这句话就是我们要求的答案。
注意!这句话是用GBK编码的!
题目code如下:
package com.db; public class test { public static void encode(byte[] in, byte[] out, int password) { int len = in.length; int seed = password ^ 0x6466913d; for (int i = 0; i < len; ++i) { byte a = (byte) ((in[i] ^ seed) >>> 3); byte b = (byte) (((((int) in[i]) << 13) ^ seed) >>> (13 - 5)); a &= 0x1f; b &= 0xe0; out[i] = (byte) (a | b); seed = (((seed << 7) ^ seed ^ in[i]) + 144123481); } } public static void decode(byte[] in, byte[] out, int password) { int len = in.length; int seed = password ^ 0x6466913d; for (int i = 0; i < len; ++i) { // fill the code here } } public static void main(String[] args) throws Exception { int password = 0xe9479a3c; byte[] buf1 = { 121, -82, 126, -49, 48, -10, -41, -37, -97, 31, -128, 113, -107, 88, -124, -37, -2, -68, 94, 38, 89, -39, -66, 39, 88, -66, -2, -31, -37, 83, -124, 104, -101, -128, 3, -118, -80, -125, 25, -31, -91, 55, 104, 102, -8, -108, -69, -126, 73, -48, }; byte[] buf2 = new byte[buf1.length]; decode(buf1, buf2, password); System.out.println(new String(buf2, "GBK")); } }
答案如下:
package com.db; public class test { public static void encode(byte[] in, byte[] out, int password) { int len = in.length; int seed = password ^ 0x6466913d; for (int i = 0; i < len; ++i) { byte a = (byte) ((in[i] ^ seed) >>> 3); byte b = (byte) (((((int) in[i]) << 13) ^ seed) >>> (13 - 5)); a &= 0x1f; b &= 0xe0; out[i] = (byte) (a | b); seed = (((seed << 7) ^ seed ^ in[i]) + 144123481); } } public static void decode(byte[] in, byte[] out, int password) { int len = in.length; int seed = password ^ 0x6466913d; for (int i = 0; i < len; ++i) { // fill the code here byte a = (byte) (in[i] & 0x1f); // a低五位,实际上是高五位 byte b = (byte) ((in[i] & 0xe0));// b高三位,实际上是低三位 b = (byte) (((((int) b) << 8) ^ seed) >>> 13); b = (byte) (b & 0x7); a = (byte) (((a << 3) ^ seed) & 0xf8); out[i] = (byte) (a | b); seed = (((seed << 7) ^ seed ^ out[i]) + 144123481); } } public static void main(String[] args) throws Exception { int password = 0xe9479a3c; byte[] buf1 = { 121, -82, 126, -49, 48, -10, -41, -37, -97, 31, -128, 113, -107, 88, -124, -37, -2, -68, 94, 38, 89, -39, -66, 39, 88, -66, -2, -31, -37, 83, -124, 104, -101, -128, 3, -118, -80, -125, 25, -31, -91, 55, 104, 102, -8, -108, -69, -126, 73, -48, }; byte[] buf2 = new byte[buf1.length]; decode(buf1, buf2, password); System.out.println(new String(buf2, "GBK")); } }
评论
1 楼
韩悠悠
2011-12-15
[list]
[*]
[*]
引用
[u][/u][i][/i][b][/b][*]
[/list] 引用
- [*]
[*] |
引用
发表评论
-
String, StringBuffer, StringBuilder 举例探究效率
2014-03-20 13:28 2053在自己以往的学习及工作经验中,形成的概念: String ... -
Java QR code 二维码
2013-09-19 23:19 1491You can refer to http://ww ... -
java 读取大容量文件,内存溢出?
2012-09-23 11:19 7102java 读取大容量文件,内存溢出?怎么分段读取 法一:( ... -
JAVA取整
2012-02-10 09:54 1340舍掉小数取整:Math.floor(2 ... -
java中利用反射机制实现调用给定为字符串的方法名
2011-09-28 15:21 0Test.java public static void ... -
JavaBean 反射实现原理
2011-09-28 14:30 0package com.DB; import java. ... -
ArrayList Vector LinkedList 区别与用法
2011-09-10 11:46 1003ArrayList 和Vector是 ... -
String类是否可以继承?
2011-09-10 10:56 3890问题1:String类是否可以继承? String类是 ... -
Java MD5加密
2011-09-18 22:21 3868呵呵,在网上查了看了很多,综合起来整理一个,先记下来以后用到了 ... -
java中subSequence方法和subString方法的区别
2011-08-01 09:30 8314根据JDK的文档,String.subSequence只 ... -
JAVA如何计算程序运行时间
2011-06-28 10:10 1474long t1=system.currentT ... -
java读取纯真IP数据库qqwry.dat的源代码
2011-06-27 09:31 2462java读取纯真IP数据库QQwry.dat的源代码,要运行此 ... -
SimpleDateFormat 类可以进行日期和字符串自由的转换
2011-06-18 16:46 1470JAVA中么创建"yyyy-MM-dd HH:mm: ... -
java 小方法
2011-05-19 10:55 957//***************************** ... -
Java_demo 定时器(2)
2011-05-17 14:40 2323本例依据Java自身提供的接口实现,通过监听器(Listene ... -
Java 定时器(1)
2011-05-17 14:19 1930Java定时器(java.util.Timer ... -
Java 反斜杠 斜杠 编译 转换
2011-05-17 10:54 2807package cn.rg.demo.test; impor ... -
java字符串编码转换大全
2011-05-16 16:25 1441无论是对程序的本地化还是国际化,都会涉及到字符编码的转换的问题 ... -
Java split()用法
2011-04-28 13:48 1084Java split用法 java.lang.string. ... -
ResultSet
2011-04-27 15:08 926ResultSet 对象具有指向其当前数据行的光标。最初,光标 ...
相关推荐
【搜狗2010招聘笔试题】是搜狗公司在2010年面向应聘者出的一套笔试题目,主要针对测试职位。这些题目旨在考察应聘者的编程基础、逻辑思维和问题解决能力。以下是其中一些关键知识点的详细解释: 1. **调用方式:...
接下来,我将详细解析这份搜狗软件测试开发工程师笔试题中包含的知识点。 首先,软件测试的目的是尽可能多地发现软件中的缺陷,因此第一题的答案是正确的(Y)。Beta测试实际上是一种用户验收测试(UAT),它是软件...
搜狗2012年笔试题,绝对真实,主要是针对开发职位,题目比较活,欢迎下载
【搜狗2016 C++笔试题】的解析与知识点详解 1. 关于重载和多态的正确理解: - 重载是指在同一个作用域内,可以有多个同名但参数列表不同的函数。这并不局限于子类继承父类的情况,而是可以在任何地方定义具有不同...
跳还是不跳,是一个问题——跳槽时该如何权衡?.docx 进入IT企业必读的324个JAVA面试题.pdf 阿里2015实习生-客户端笔试题目解析.docx 面试帮-IT面试宝典.apk 面试题库 高吞吐低延迟Java应用的垃圾回收优化.docx 黑马...
搜狗校园招聘研发类笔试题.pdf 百度前端研发笔试卷.pdf 百度大数据云计算研发笔试卷.pdf 百度安全研发笔试卷.pdf 百度研发工程师深圳.pdf 美团校园招聘研发笔试题.pdf 腾讯校园招聘技术类研发笔试题.pdf 阿里巴巴...
随着技术的发展,人工智能和大数据处理也可能成为搜狗笔试题的新兴领域,包括机器学习的基本算法、数据挖掘、推荐系统等。 在准备这样的笔试时,考生应全面复习上述各个领域的知识,多做练习题,提高解题速度和准确...
搜狗校招产品岗笔试题_互联网 产品经理求职 校招 面试笔试题.docx
2015校园招聘笔试题大合集,汇集百度、腾讯、阿里等多家大型互联网企业的面试题,非常... 搜狗2015校园招聘研发类笔试题.pdf 腾讯2015校园招聘技术类研发笔试题.pdf 浙江大华2015届校园招聘算法、软件类笔试题.pdf
搜狗2017年的C++笔试题涉及到重载和多态的概念、博弈论策略、构造函数和析构函数的调用顺序、`fork()`函数的使用以及内存区域的分配。对于C++程序员来说,这些知识点是基础且重要的,理解和掌握它们对于编写高效、...
回忆版.pdf百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试八十题.pdf百度校园招聘笔试面试题合集百度校园招聘笔试题web前端2013.pdf百度校园招聘笔试题产品2.pdf百度校园招聘笔试题产品经理2014.pdf百度校园招聘笔试...
搜狗2013年校园招聘笔试题C,希望对大家有帮助。
搜狗2015校园招聘研发类笔试题.pdf 百度2015前端研发笔试卷.pdf 百度2015大数据云计算研发笔试卷.pdf 百度2015安全研发笔试卷.pdf 美团2015校园招聘研发笔试题.pdf C++基础面试题.docx C++开发工程师面试题库.docx ...
在C++中,当创建一个对象并用另一个已存在对象初始化时,会调用拷贝构造函数。在题目中,`b2=func(b1)`,首先调用拷贝构造函数将`b1`传入`func`,然后在`func`中返回`rhs`,此时会调用析构函数,因为函数局部变量`...
题库搜狗笔试面试题合集提取方式是百度网盘分享地址
多路归并排序是最常用的方法,它将大文件分成若干个小文件,分别在内存中进行排序,然后将这些已排序的小文件合并成一个大文件,实现整体的排序。 Q9: 在对空间和时间都有限制的实时系统中,常使用的排序算法? ...
跳还是不跳,是一个问题——跳槽时该如何权衡?.docx 进入IT企业必读的324个JAVA面试题.pdf 阿里2015实习生-客户端笔试题目解析.docx 面试帮-IT面试宝典.apk 面试题 面试题库 高吞吐低延迟Java应用的垃圾回收优化....