是一个信息编码的程序,阅读其encode部分,并补全其decode部分
最后运行程序,会打印出的一句话。这句话就是我们要求的答案。
题目源码如下:
public class Test {
/**
* 加密过程
* @param in
* @param out
* @param password
*/
public static void encode(byte[] in, byte[] out, int password) {
int len = in.length;
int seed = password ^ 0x8c357ca5;
for (int i = 0; i < len; ++i) {
/**
*因为JVM中涉及byte、short、char类型的运算操作首先会把这些值转换成int类型,
* 然后对int类型的值进行运算,所以需要把运算结果强制转换成byte类型
*/
byte a = (byte) ((in[i] ^ seed) >>> 5); //把异或后的值存放在a的低3位
byte b = (byte) (((((int) in[i]) << 16) ^ seed) >>> (16 - 3)); //把异或后的值存放在b的高5位
a &= 0x7; //0x7:0000 0111;将a中未存储有效数的位清零
b &= 0xf8; //0xf8:1111 1000;将b中未存储有效数的位清零
out[i] = (byte) (a | b);
seed = (seed * 3687989 ^ seed ^ in[i]);
}
}
/**
*
* @param in
* @param out
* @param password
*/
public static void decode(byte[] in, byte[] out, int password) {
int len = in.length;
int seed = password ^ 0x8c357ca5;
for (int i = 0; i < len; ++i) {
//补全代码....
}
}
public static void main(String[] args) throws Exception {
int password = 0xe87dd9d3;
//要输出的汉字符号对应的编码,一个汉字符号占用两个字节
byte[] buf1 = { 29, -16, 96, 43, -85, 25, -96, 83, 13, 66, -109, 49, -111, 0, 60, -101, 99, -86, -38, 86, -35,
48, 23, 83, -102, 25, 73, -116, -101, -88, -5, 14, -14, -112, 87, -87, 2, 108, -58, 40, 56, 12, 108,
77, 83, 38, 20, -114};
byte[] buf2 = new byte[buf1.length];
decode(buf1, buf2, password);
System.out.println("结果:"+new String(buf2, "GBK"));
}
}
需要补全的代码如下:
byte a = (byte)(((in[i] & 0x7) << 5) ^ seed);//把值存放到a的高3位
byte b = (byte)(((((((int)in[i]) & 0xF8 ) << (16 - 3))) ^ seed) >>> 16); //把值存放到b的低5位
a &= 0xe0; //0xe0:1110 0000;将a中未存储有效数的位清零
b &= 0x1f; //0x1f:0001 1111;将b中未存储有效数的位清零
out[i] = (byte)(a | b);
seed = (seed * 3687989 ^ seed ^ out[i]);
运行结果:
结果:搜狗输入法支持各种炫酷的皮肤,彰显个性的你!!!
分享到:
相关推荐
搜狗地图javascript API的源代码,2013年8月7日2.5.1版解密版,代码格式为可阅读格式;如发生版权问题,请联系博主,谢谢!
例1:将搜狗细胞词库转换成 rime 词库 已知,rime 词库文件的格式为:中文词组\t以空格分割的拼音组\t词频。$ ./main.sh ~/Downloads/化学化工词汇大全【官方推荐】.scel | awk 'BEGIN{FS="\n";RS="&...
搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库搜狗词库
url解码器 用于破解url,加密字符串
浏览器 搜狗浏览器 搜狗浏览器 搜狗浏览器 搜狗浏览器 搜狗
搜狗校招JAVA类题目,非常有借鉴意义!
搜狗拼音搜狗拼音搜狗拼音搜狗拼音搜狗拼音搜狗拼音搜狗拼音搜狗拼音搜狗拼音搜狗拼音搜狗拼音搜狗拼音
搜狗输入法搜狗输入法搜狗输入法搜狗输入法搜狗输入法搜狗输入法
搜狗浏览器搜狗浏览器搜狗浏览器搜狗浏览器
搜狗输入法4.3搜狗输入法4.3搜狗输入法4.3
搜狗输入法4.3搜狗输入法4.3搜狗输入法4.3搜狗输入法4.3搜狗输入法4.3搜狗输入法4.3搜狗输入法4.3搜狗输入法4.3搜狗输入法4.3搜狗输入法4.3
搜狗语料库,经验证非常好用。欢迎下载。搜狗语料库,经验证非常好用。欢迎下载。搜狗语料库,经验证非常好用。欢迎下载。
搜狗1.0.rar 搜狗浏览器 搜狗1.0.rar 搜狗浏览器 搜狗1.0.rar 搜狗浏览器
搜狗拼音输入法5.1正式版搜狗拼音输入法5.1正式版搜狗拼音输入法5.1正式版
二、需要注意,搜狗TTS只是一个语音引擎,不能直接朗读播放文字。还需配合使用,有朗读功能的小说软件,比如阅读app、搜书大师等。在小说软件的阅读界面,点击朗读,它才可以调用搜狗TTS读小说。该软件免费试用,白嫖...
搜狗提交链接软件,免费搜狗提交链接软件,批量搜狗提交链接软件,全自动挂机搜狗提交
绝对是一款超强的霸屏搜狗泛站群方式源码。 那套源码在某站销售12000元: 该套站群源码是模仿聚合搜索,针对搜狗搜索的方式源码,安拆源码后修改关键词和您的域名即可利用! 利用入口代码跳转,丢弃以往JS跳转体例,...
机器学习中搜狗实验室发布的搜狗新闻数据集
入口判断是否来自搜狗搜索 ,如果来自搜狗搜索就加载跳转页模板。 搜狗蜘蛛劫持,UA来自搜狗蜘蛛,加载内容页面。 长尾词首页霸屏,无需其他排名程序辅助,自然排名直接首页。 只需全新cn即可操作。 案例是使用...
wps,excel电子表格md5批量加密工具宏工具下载,百度搜狗360推广加密手机,mac地址,其他收据专用工具