搜狗2012笔试真题 -- #include "stdint.h"
// 注:以上内容没有前面的“--”,做时去掉即可
int encode(const void* raw_in, void* raw_out, uint32_t password, size_t len)
{
const uint8_t* in = (const uint8_t*)raw_in;
uint8_t* out = (uint8_t*)raw_out;
uint32_t seed = password ^ 0x42381238u;
for (size_t i = 0 ; i < len; ++i) {
uint8_t a = ( in ^ seed ) >> 2;
uint8_t b = ( ( ((uint32_t)in) << 10 ) ^ seed ) >> (10-6);
a &= 63;
b &= 192;
a = 63 & ( a ^ (b << 3));
out = a | b;
seed = (((seed << 7) ^ seed ^ in) + 48475829);
}
return 0;
}
int decode(const void* raw_in, void* raw_out, uint32_t password, size_t len)
{
const uint8_t* in = (const uint8_t*)raw_in;
uint8_t* out = (uint8_t*)raw_out;
uint32_t seed = password ^ 0x42381238u;
for (size_t i = 0 ; i < len; ++i) {
// 请在此处补全代码
}
}
int main()
{
const uint8_t buf1[] = {0xf5, 0x3b, 0x3a, 0x0d, 0x54, 0x73, 0x34, 0xfe, 0x5d, 0x72, 0x2d, 0x8b, 0xca, 0x1d, 0xdb, 0xd4, 0x94, 0xfa, 0x88, 0xae, 0x51, 0x4f, 0x85, 0x38, 0x96, 0x33, 0xf1, 0xa3, 0x41, 0xf9, 0xc8, 0x67, 0xfc, 0x01, 0xc7, 0xdd, 0x22, 0xe7, 0xbd, 0x83, };
uint8_t buf2[100] = {};
const uint32_t password = 0x266d183bu;
const size_t len = sizeof(buf1);
encode(buf1, buf2, password, len);
printf("%sn", buf2);
}
求哈希解码算法
过来人:搜狗2012笔试真题
才干屋
人气:2.52W
最近更新
- 12007华夏银行笔试归来
- 22007年中国人民银行经济金融类笔试题目
- 3搜狗笔试题目
- 4招聘年薪20万总经理的真实试题-您试试看?
- 5狗狗——有你真好
- 62007年12月雨润集团笔试经历
- 7腾讯笔试真题笔试题答案汇总
- 8比亚迪笔试真题英文笔试题汇
- 9本田笔试真题精选笔试题集
- 10又去了杭州笔试安利--浙江大学,2006-12-16
- 112006年12月中兴在我们学校的笔试
- 12富士康2012笔试
- 13IBM笔试真题笔试答案笔试经验汇总
- 142007建行笔试归来(江苏)
- 15建行笔试归来 江苏 2007
- 16荷兰银行的业务拓展部雇员笔试题目--2007年1月4日
- 17Intel笔试真题技术笔试题型
- 18原来有的人真的只是过客杂文随笔