Ruby TypeError:参数(字符串)错误!(应为OpenSSL::Digest::Digest的类型)

Ruby TypeError:参数(字符串)错误!(应为OpenSSL::Digest::Digest的类型),ruby,openssl,Ruby,Openssl,我对Ruby的openssl库有问题 以下是我的工作: 在Rails应用程序中,我启动“/script/console”,然后键入: >>OpenSSL::HMAC.hexdigest('sha256','','') 给我这个错误: TypeError:参数(字符串)错误!(应为OpenSSL::Digest::Digest的类型) 来自(irb):15:in“hexdigest” 起始(irb):15 我在谷歌上搜索了这个错误,但无法得到关于发生了什么的答案。错误消息说您提供了一个字符串,其中

我对Ruby的openssl库有问题

以下是我的工作:

在Rails应用程序中,我启动“/script/console”,然后键入:

>>OpenSSL::HMAC.hexdigest('sha256','','') 给我这个错误:

TypeError:参数(字符串)错误!(应为OpenSSL::Digest::Digest的类型) 来自(irb):15:in“hexdigest” 起始(irb):15
我在谷歌上搜索了这个错误,但无法得到关于发生了什么的答案。

错误消息说您提供了一个字符串,其中包含一个类型为
OpenSSL::Digest::Digest
的对象

因此,请使用
OpenSSL::Digest::SHA256.new
(这是一种
OpenSSL::Digest::Digest
对象,因为
SHA256
Digest
的子类),而不是
'SHA256'
(这是一个字符串)