Project1
标题:
RM的RC4加密 (无需dll)
[打印本页]
作者:
PAME
时间:
2011-7-13 21:07
标题:
RM的RC4加密 (无需dll)
本帖最后由 PAME 于 2011-7-21 17:38 编辑
开发一个成就与排名功能要用RC4加密传输,在
此帖询问
无人回答,最后方法如下:(本人无RUBY基础。。居然看懂了。。。原来只懂Pascal、Delphi、易语言、RobotC。。。)
class RubyRc4
def initialize(str)
@q1, @q2 = 0, 0
@key = []
str.each_byte {|elem| @key << elem} while @key.size < 256
@key.slice!(
[email protected]
) if @key.size >= 256
@s = (0..255).to_a
j = 0
0.upto(255) do |i|
j = (j + @s[i] + @key[i] )%256
@s[i], @s[j] = @s[j], @s[i]
end
end
def encrypt!(text)
process text
end
def encrypt(text)
process text.dup
end
private
def process(text)
0.upto(text.length-1) {|i| text[i] = text[i] ^ round}
text
end
def round
@q1 = (@q1 + 1)%256
@q2 = (@q2 + @s[@q1])%256
@s[@q1], @s[@q2] = @s[@q2], @s[@q1]
@s[(@s[@q1]+@s[@q2])%256]
end
end
复制代码
范例:
encryptor = RubyRc4.new('xxxx')
encrypted_data = encryptor.encrypt('cccccccccccccc')
File.open("1.txt","w") do |file|
file.puts encrypted_data
end
复制代码
以“xxxx”为密码加密“cccccccccccccc”,并保存才1.txt文件中
作者:
后知后觉
时间:
2011-7-13 23:01
你就只帖了一个 class RubyRc4 ?
作者:
R-零
时间:
2011-7-14 08:28
没搞错吧,class后面的应该全部贴上了的
作者:
PAME
时间:
2011-7-14 16:02
咦。非常抱歉,失误失误。修复了。(最近学校补课,迷迷糊糊的)
作者:
574656549
时间:
2011-7-21 11:59
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1