Любая библиотека расшифровки RC4 для ruby ​​1.9.2? - PullRequest
0 голосов
/ 05 февраля 2011

я нашел одну библиотеку, которая находится здесь
https://github.com/juggler/ruby-rc4/blob/master/lib/rc4.rb

Но она не работает для ruby ​​1.9.x
, она выдает ошибку неопределенного метода ^ 'для "\ x1A": String__

Есть ли какой-нибудь обходной путь в ruby ​​1.9.x?

после поиска в Google, я узнал, что "В Ruby 1.9 string [index] возвращает символ, а не код символа (как этобыл в 1.8). "(https://rails.lighthouseapp.com/projects/8994/tickets/3144-undefined-method-for-string-ror-234)

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 05 февраля 2011

https://github.com/dotemacs/ruby-rc4/tree/master/lib Этот парень раздвоил его и добавил несколько тестов. Оригинал не поддерживается, похоже. Эта библиотека чрезвычайно проста, и чтобы исправить это, вам просто нужно использовать метод ord в String.

 s = "foo"
 s[0].ord

Так что клонируйте, что парни мерзнут, исправьте это и отправьте ему запрос на извлечение, это путь с открытым исходным кодом :), если он не отвечает, тогда держите ваш форк, и тогда люди будут его использовать.

EDIT

изменить строку 27 на:

  0.upto(text.length-1) {|i| text[i] = [text[i].ord ^round].pack('c')}
1 голос
/ 05 февраля 2011

Если это (одна операция) является единственной проблемой, не могли бы вы просто немного изменить библиотеку?

...