如何解决这个“密钥必须是 32 字节”错误?

问题描述 投票:0回答:0

不知道我是怎么偶然发现这个的,但它刚刚出现。我正在使用

Sinatra
Ruby 3.2.2
。我不确定这个错误是什么。

错误:

ArgumentError at /
key must be 32 bytes
file: encryptor.rb location: key= line: 24

回溯:

/Users/user3/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/rack-protection-3.0.6/lib/rack/protection/encryptor.rb in key=
        cipher.key = secret[0, cipher.key_len]
/Users/user3/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/rack-protection-3.0.6/lib/rack/protection/encryptor.rb in encrypt_message
        cipher.key = secret[0, cipher.key_len]
/Users/user3/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/rack-protection-3.0.6/lib/rack/protection/encrypted_cookie.rb in write_session
          session_data = Rack::Protection::Encryptor.encrypt_message(session_data, @secrets.first)
/Users/user3/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb in commit_session
          if not data = write_session(req, session_id, session_data, options)
/Users/user3/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb in context
          commit_session(req, res)
/Users/user3/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb in call
          context(env)

我该如何解决这个问题?

ruby sinatra rack
© www.soinside.com 2019 - 2024. All rights reserved.