Chinaunix首页 | 论坛 | 博客
  • 博客访问: 536067
  • 博文数量: 142
  • 博客积分: 2966
  • 博客等级: 少校
  • 技术积分: 1477
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-07 22:37
文章分类

全部博文(142)

文章存档

2013年(3)

2012年(21)

2011年(53)

2010年(33)

2009年(32)

分类: Python/Ruby

2011-06-10 18:02:53

  1. def rc4(data,key):
  2.     x = 0
  3.     box = range(256)
  4.     for i in range(256):
  5.         x = (x + box[i] + ord(key[i % len(key)])) % 256
  6.         box[i], box[x] = box[x], box[i]
  7.     x = 0
  8.     y = 0
  9.     out = []
  10.     for char in data:
  11.         x = (x + 1) % 256
  12.         y = (y + box[x]) % 256
  13.         box[x], box[y] = box[y], box[x]
  14.         out.append(chr(ord(char) ^ box[(box[x] + box[y]) % 256]))

  15.     return ''.join(out)
阅读(5238) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~