搜狗在线测评(加密解密)
2011-12-04 20:33
169 查看
#include <stdio.h> #include <stdlib.h> //#include <stdint.h> #include <assert.h> #include <string.h> typedef unsigned char uint8_t; typedef unsigned int uint32_t; 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 ^ 0xbf9c7264u; for (size_t i = 0 ; i < len; ++i) { uint8_t a = ( in[i] ^ seed ) >> 5; uint8_t b = ( ( ((uint32_t)in[i]) << 15 ) ^ seed ) >> (15-3); a &= 7; b &= 248; a = 7 & ( a ^ (b << 3)); out[i] = a | b; seed = ((seed ^ out[i]) * 129491 + out[i]); } 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 ^ 0xbf9c7264u; for (size_t i = 0 ; i < len; ++i) { // 请在此处补全代码 //out[i] = a | b; uint8_t a = ( in[i] & 7); uint8_t b = ( in[i] & 248); //a = 7 & ( a ^ (b << 3)); a = (a ^ (b << 3)); a = (a << 5) ^ seed; //uint8_t b = ( ( ((uint32_t)in[i]) << 15 ) ^ seed ) >> (15-3); b = ((((uint32_t)b<<12))^seed )>>15; //uint8_t a = ( in[i] ^ seed ) >> 1; a = a & 0xe0;//高3位 b = b & 0x1f;//低5位 out[i] = a | b; seed = ((seed ^ in[i]) * 129491 + in[i]); } return 0; } int main() { const uint8_t buf1[] = {0x0b, 0xf1, 0x3f, 0x87, 0xd2, 0xa4, 0x08, 0xb9, 0x28, 0x2d, 0x3c, 0xd9, 0x9a, 0xec, 0x3b, 0xe9, 0x42, 0xa5, 0xea, 0x2b, 0xa9, 0x7b, 0xe3, 0x45, 0xd3, 0x45, 0x64, 0x16, 0x66, 0x42, 0xff, 0x5b, 0xb6, 0xe3, 0x7a, 0x6d, 0x7e, 0x6d, 0x5a, 0xf1, 0xa1, 0x5b, 0x5b, 0x71, 0x27, 0x5c, 0xb9, 0x30, 0x55, 0x0b }; uint8_t buf2[100] = {0}; const uint32_t password = 0xc67911cfu; const size_t len = sizeof(buf1); decode(buf1, buf2, password, len); printf("%s\n", buf2); return 1; }
相关文章推荐
- javascript在线加密/解密;压缩/解压缩
- 搜狗的在线测评
- 搜狗16招聘机试题 加密解密算法
- C# 利用ICSharpCode.SharpZipLib实现在线加密压缩和解密解压缩
- C# 利用ICSharpCode.SharpZipLib实现在线加密压缩和解密解压缩 C# 文件压缩加解密
- 区块链相关在线加解密工具(非对称加密/hash)
- php在线加密的解密程序
- 安全 加密解密 在线工具
- 搜狗笔试题——加密解密
- wiki-shan写的php在线加密的解密程序
- 在线RSA加密解密,RSA2加密解密(SHA256WithRSA)
- 在线加密解密很好的一个网站
- Base64在线加密解密脚本源码【html版】
- PHP加密代码 $o eval base64_decode 在线解密工具
- Javascript在线美化、优化、加密、解密、压缩、解压
- 关于搜狗在线测评上面的题目详解
- AES在线加密解密-附AES128,192,256,CBC,CFB,ECB,OFB,PCBC各种加密解密源码
- 搜狗在线测评题目信息编码与解码
- JavaScript Eval 在线加密/解密, 编码/解码工具
- 最新的JScript.Encode加密解密.Encode在线加密解密