为什么OpenSSL的:PKCS5.pbkdf2
答案:1 悬赏:30 手机版
解决时间 2021-04-04 21:04
- 提问者网友:椧運幽默
- 2021-04-04 04:39
为什么OpenSSL的:PKCS5.pbkdf2
最佳答案
- 五星知识达人网友:鸽屿
- 2021-04-04 04:45
我的Rails 3.2,并试图产生,从而使用AES-CBC 256到密码学的一个关键和IV的pbkdf2_hmac_sha1函数。 产生它的代码是:
require "openssl"
require "base64"
require "digest"
require "securerandom"
@chave = "fd5d148867091d7595c388ac0dc50bb465052b764c4db8b4b4c3448b52ee0b33df16975830acca82"
cipher = OpenSSL::Cipher.new("AES-256-CBC")
key_iv = OpenSSL::PKCS5.pbkdf2_hmac_sha1(@chave, salt, 2000, cipher.key_len+cipher.iv_len)
key = key_iv[0, cipher.key_len]
iv = key_iv[cipher.key_len, cipher.iv_len]
那么就生成一个随机SecureRandom.urlsafe_base64,发现了四长度(应该是16个字节)是15个字节,而不是16个字节时,盐。 举例来说,如果你有一个盐=“lzbH78AwVK7U1eo-ephK6A”,它生成一个四=“604ff394b52e79255fa35b081684b0”(15字节长)。 能有什么我做错了线索?
require "openssl"
require "base64"
require "digest"
require "securerandom"
@chave = "fd5d148867091d7595c388ac0dc50bb465052b764c4db8b4b4c3448b52ee0b33df16975830acca82"
cipher = OpenSSL::Cipher.new("AES-256-CBC")
key_iv = OpenSSL::PKCS5.pbkdf2_hmac_sha1(@chave, salt, 2000, cipher.key_len+cipher.iv_len)
key = key_iv[0, cipher.key_len]
iv = key_iv[cipher.key_len, cipher.iv_len]
那么就生成一个随机SecureRandom.urlsafe_base64,发现了四长度(应该是16个字节)是15个字节,而不是16个字节时,盐。 举例来说,如果你有一个盐=“lzbH78AwVK7U1eo-ephK6A”,它生成一个四=“604ff394b52e79255fa35b081684b0”(15字节长)。 能有什么我做错了线索?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯