You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

需使用哪些OpenSSL参数生成可被Helm AES解密的字符串?

如何用OpenSSL生成可被Helm的AES函数解密的字符串

Helm的encryptAES和decryptAES函数基于AES-256-CBC模式实现,内部逻辑为:

  • 对传入的密钥做SHA256哈希,生成256位标准AES密钥
  • 自动生成16字节的随机初始化向量(IV)
  • 用AES-256-CBC加密明文后,将IV与密文拼接,再做Base64编码输出

以下是直接匹配该逻辑的OpenSSL命令,无需依赖kubectl/helm工具即可生成兼容的加密字符串:

加密命令(生成可被Helm decryptAES解密的内容)

# 替换your-secret-key为实际密钥,your-plaintext为需要加密的明文
echo -n "your-plaintext" | openssl enc -aes-256-cbc -K $(echo -n "your-secret-key" | openssl dgst -sha256 -binary | xxd -p) -iv $(openssl rand -hex 16) -base64 -A

参数解析

  • -aes-256-cbc:指定加密算法与Helm实现完全一致
  • -K:传入密钥的SHA256哈希值(提前模拟Helm内部的密钥处理逻辑)
  • -iv:生成16字节随机IV(Helm会自动拼接IV与密文,OpenSSL会自动将该IV附加到密文前)
  • -base64 -A:将加密结果(IV+密文)转为Base64编码并输出为单行,避免换行影响Helm解析

验证解密(用OpenSSL解密Helm加密的内容)

如果已有Helm加密后的Base64字符串,可通过以下命令解密:

# 替换your-secret-key为密钥,encrypted-string为Helm加密后的Base64值
echo -n "encrypted-string" | base64 -d | openssl enc -aes-256-cbc -d -K $(echo -n "your-secret-key" | openssl dgst -sha256 -binary | xxd -p) -iv $(echo -n "encrypted-string" | base64 -d | head -c 16 | xxd -p)

逻辑说明

  1. 先解码Base64字符串,前16字节为Helm自动生成的IV,剩余部分为密文
  2. 提取IV并传入OpenSSL,用密钥的SHA256哈希作为解密密钥执行解密

示例验证

比如用Helm执行加密:

encryptAES "my-secret-key" "hello-helm"
# 输出类似:"Z9X7K1r2bQ3eR4tY5uI6oP7aS8dF9gH0jKlMnOpQrStUvWxYz"

将上述输出的加密字符串代入OpenSSL解密命令,即可得到明文hello-helm;反过来用OpenSSL加密的内容,也能被Helm的decryptAES正确解密。

内容的提问来源于stack exchange,提问作者Илья Бугримов

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 20:57:02