RC4加密算法
2015-09-27 21:00
281 查看
代码:
[code]#include <iostream> #include <cstring> #include <cstdio> #include <map> #include <algorithm> using namespace std; int S[300]; int T[300]; int K[300]; int main() { int len; scanf("%d", &len); for (int i = 0;i < len;i++) scanf("%d",&K[i]); for (int i = 0;i <= 255;i++) { S[i] = i; T[i] = K[i%len]; } int j = 0; for (int i = 0;i <= 255;i++) { j = (j + S[i] + T[i]) % 256; swap(S[i], S[j]); } int clear_text[300]; int cnt; scanf("%d", &cnt); for (int i = 0;i < cnt;i++) scanf("%d", &clear_text[i]); int tmp[300]; int num = 0; int i = 0; j = 0; while (1) { i = (i + 1) % 256; j = (j + S[i]) % 256; swap(S[i], S[j]); int t = (S[i] + S[j]) % 256; tmp[num++] = S[t]; if (num == cnt) break; } int ans[300]; for (int i = 0;i < strlen(clear_text);i++) ans[i] = (tmp[i] ^ clear_text[i]); for (int i = 0;i < strlen(clear_text);i++) cout << ans[i] << " ";cout << endl; return 0; }
相关文章推荐
- UIView
- java SE复习笔记41
- 烦躁
- Devexpress汉化修改 已经汉化过后生成的*.resources.dll文件 z
- iOS6之后 NSAttributedString 福利
- 组合数(dfs)
- Java工具类(二) 模版导出工具类
- 软工视频总结(前期)
- Basic Calculator
- OCP-V13-008
- 两种方法实现stm32的8个串口通信
- jsonp的工作原理
- ASP.NET WebAPI 05 参数绑定
- HTML使用canvas载入图片
- 三个水杯 21 (bfs 转化) 好题
- 编译lamp
- 关于测试方法以及测试用例设计的一些总结
- HDU 5493 Queue (合肥网络赛 1010 )
- POJ 3177 Redundant Paths POJ 3352 Road Construction(双连接)
- 从面向过程到面向对象