设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2409|回复: 4
打印 上一主题 下一主题

[通用发布] RM的RC4加密 (无需dll)

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
262 小时
注册时间
2009-1-10
帖子
309
跳转到指定楼层
1
发表于 2011-7-13 21:07:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 PAME 于 2011-7-21 17:38 编辑

开发一个成就与排名功能要用RC4加密传输,在此帖询问无人回答,最后方法如下:(本人无RUBY基础。。居然看懂了。。。原来只懂Pascal、Delphi、易语言、RobotC。。。)
  1. class RubyRc4
  2.   
  3.   def initialize(str)
  4.     @q1, @q2 = 0, 0
  5.     @key = []
  6.     str.each_byte {|elem| @key << elem} while @key.size < 256
  7.     @key.slice!([email protected]) if @key.size >= 256
  8.     @s = (0..255).to_a
  9.     j = 0
  10.     0.upto(255) do |i|
  11.       j = (j + @s[i] + @key[i] )%256
  12.       @s[i], @s[j] = @s[j], @s[i]
  13.     end   
  14.   end
  15.    
  16.   def encrypt!(text)
  17.     process text
  18.   end  
  19.   
  20.   def encrypt(text)
  21.     process text.dup
  22.   end
  23.   
  24.   private

  25.   def process(text)
  26.     0.upto(text.length-1) {|i| text[i] = text[i] ^ round}
  27.     text
  28.   end
  29.   
  30.   def round
  31.     @q1 = (@q1 + 1)%256
  32.     @q2 = (@q2 + @s[@q1])%256
  33.     @s[@q1], @s[@q2] = @s[@q2], @s[@q1]
  34.     @s[(@s[@q1]+@s[@q2])%256]  
  35.   end
  36. end
复制代码
范例:
  1. encryptor = RubyRc4.new('xxxx')
  2. encrypted_data = encryptor.encrypt('cccccccccccccc')


  3. File.open("1.txt","w") do |file|  
  4.    file.puts encrypted_data

  5. end
复制代码
以“xxxx”为密码加密“cccccccccccccc”,并保存才1.txt文件中

Lv4.逐梦者

梦石
0
星屑
6545
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

2
发表于 2011-7-13 23:01:56 | 只看该作者
你就只帖了一个 class RubyRc4 ?











你知道得太多了

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
732
在线时间
1270 小时
注册时间
2011-2-14
帖子
5589
3
发表于 2011-7-14 08:28:51 | 只看该作者
没搞错吧,class后面的应该全部贴上了的
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
262 小时
注册时间
2009-1-10
帖子
309
4
 楼主| 发表于 2011-7-14 16:02:43 | 只看该作者
咦。非常抱歉,失误失误。修复了。(最近学校补课,迷迷糊糊的)
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
595
在线时间
899 小时
注册时间
2010-11-13
帖子
1023
5
发表于 2011-7-21 11:59:29 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-26 08:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表