我发现这里有一个lib https://github.com/juggler/ruby-rc4/blob/master/lib/rc4.rb
但它不适用于红宝石1.9.x
它会抛出一个错误
未定义的方法^'代表“\ x1A”:String __
在ruby 1.9.x中有没有解决方法?
在google搜索之后,我开始知道“在Ruby 1.9中字符串[index]返回的字符不是字符的代码(就像它在1.8中一样)。” (https://rails.lighthouseapp.com/projects/8994/tickets/3144-undefined-method-for-string-ror-234)提前致谢
答案 0 :(得分:1)
如果那个(一个操作)是唯一的问题,你不能只修改一下这个库吗?
答案 1 :(得分:1)
https://github.com/dotemacs/ruby-rc4/tree/master/lib这家伙已经分叉了,并添加了一些测试。原来不保持它的样子。这个库非常简单,并且修复了你只需要在String上使用ord方法。
s = "foo"
s[0].ord
所以克隆那些家伙git,修复它,并向他发送一个拉取请求,这是开源方式:)如果他没有回应那么保持你的分叉然后人们将使用它。
修改
将第27行更改为:
0.upto(text.length-1) {|i| text[i] = [text[i].ord ^round].pack('c')}