You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于在OpenSSL中生成符合AES标准的128位对称密钥的技术问询

在OpenSSL中生成符合AES标准的128位对称密钥的方法

嘿,别着急,OpenSSL完全能搞定AES-128对称密钥的生成,我给你分享几个实用的方法,看你需求选就行:

  • 直接生成随机128位密钥(推荐,安全性最高)
    AES-128的密钥长度是16字节(128位),用rand命令可以直接生成加密安全的随机密钥。如果要十六进制格式输出(方便查看和复制),用这条命令:

    openssl rand -hex 16
    

    执行后会输出32个十六进制字符(每个字符4位,32*4=128位),这就是你的AES-128密钥。要是你需要二进制格式的密钥文件,直接去掉-hex参数,输出到文件就行:

    openssl rand 16 > aes128.key
    
  • 从口令派生AES-128密钥
    如果你需要基于某个口令生成密钥,可以用enc命令结合哈希算法派生:

    openssl enc -aes-128-cbc -k "你的口令" -P -md sha256
    

    执行后会输出key=开头的十六进制字符串,这就是派生出来的AES-128密钥,同时还会生成对应的初始化向量(IV)。注意这里的口令要足够复杂,不然派生的密钥安全性会打折扣。

另外要提醒下,openssl rand用的是系统的加密安全随机数生成器,生成的密钥安全性很高,是生产环境的首选哦。

备注:内容来源于stack exchange,提问作者vico

火山引擎 最新活动