gpt4 book ai didi

Ruby - 不支持的密码算法 (AES-256-GCM)

转载 作者:数据小太阳 更新时间:2023-10-29 07:06:07 30 4
gpt4 key购买 nike

我收到错误:

unsupported cipher algorithm (AES-256-GCM) (RuntimeError)

但我似乎具备所有要求:

ruby 版本:

$ ruby --version

ruby 2.1.2p95

OpenSSL 会列出 gcm:

$ openssl enc -help 2>&1 | grep gcm

-aes-128-ecb -aes-128-gcm -aes-128-ofb
-aes-192-ecb -aes-192-gcm -aes-192-ofb
-aes-256-ecb -aes-256-gcm -aes-256-ofb

Ruby 解释器:

$ irb

2.1.2 :001 > require 'openssl'; puts OpenSSL::VERSION

1.1.0

=> nil

2.1.2 :002 > OpenSSL::Cipher.ciphers.include? "aes-128-gcm"

=> true

但我在运行此 code 时遇到错误:

2.1.2 :001 > require 'openssl'
=> true
2.1.2 :002 > cipher = OpenSSL::Cipher::AES.new(128, :GCM)
RuntimeError: unsupported cipher algorithm (AES-128-GCM)
from /home/m/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/openssl/cipher.rb:27:in `initialize'
from /home/m/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/openssl/cipher.rb:27:in `block (3 levels) in <class:Cipher>'
from (irb):2:in `new'
from (irb):2
from /home/m/.rvm/rubies/ruby-2.1.2/bin/irb:11:in `<main>'

如何让 GCM 在 ruby​​ 中工作?

最佳答案

对我有用的是

OpenSSL::Cipher.new('aes-128-gcm')

我不确定为什么您的方法会出错。

编辑:

这可能是大小写问题。这可能是一个实际的错误。

以下作品:

OpenSSL::Cipher::AES.new(128, :CBC)

因为我们在 OpenSSL::Cipher::AES.ciphers 中找到了 "AES-128-CBC"(全部大写)。 AES.new 似乎用大写字符搜索其密码。

因此,以下内容不起作用:

OpenSSL::Cipher::AES.new(128, :GCM)

因为它是密码列表中的"aes-128-gcm"

关于Ruby - 不支持的密码算法 (AES-256-GCM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24619503/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com