2010-08-03 1 views
0

У меня проблема с библиотекой openssl Ruby.TypeError: неправильный аргумент (String)! (Ожидаемый вид OpenSSL :: Digest :: Digest)

Вот что я делаю:

В моем приложении Rails, я начинаю "./script/console", затем введите:

>>OpenSSL::HMAC.hexdigest('sha256','','')

дает мне эту ошибку:

TypeError: wrong argument (String)! (Expected kind of OpenSSL::Digest::Digest) from (irb):15:in `hexdigest' from (irb):15

Я искал эту ошибку, но не смог получить ответ на то, что происходит.

ответ

2

В сообщении об ошибке указано, что вы указали строку, в которой ожидался объект вида OpenSSL::Digest::Digest.

Так используйте OpenSSL::Digest::SHA256.new (который является объектом любезного OpenSSL::Digest::Digest на счет SHA256 быть подклассом Digest) вместо 'sha256' (это строка).