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

AWS Encryption CLI加密添换行符致生产EC2入库应用报错求助

解决AWS加密CLI命令行输出末尾带换行符的问题

核心问题是你使用echo "VA"时,默认会在输出末尾追加换行符,导致加密的原始内容实际是VA\n(包含换行),解密后自然多出一个换行,触发应用层的长度校验错误。

直接解决方法

  1. 取消echo的自动换行
    使用echo -n参数可以禁止追加换行符,修改后的命令如下:

    echo -n "VA" | /usr/local/bin/aws-encryption-cli --encrypt --encode --input - --wrapping-keys key=XXX --metadata-output ~/metadata --commitment-policy require-encrypt-require-decrypt --output -
    
  2. 强制移除输出末尾换行(备用)
    如果加密命令本身仍会输出换行,可以通过管道追加tr -d '\n'来删除所有换行符:

    echo -n "VA" | /usr/local/bin/aws-encryption-cli --encrypt --encode --input - --wrapping-keys key=XXX --metadata-output ~/metadata --commitment-policy require-encrypt-require-decrypt --output - | tr -d '\n'
    

文件输入输出的解决方式

如果使用文件作为输入,确保输入文件不含末尾换行:

# 创建无换行的输入文件
printf "VA" > input.txt
# 执行加密
/usr/local/bin/aws-encryption-cli --encrypt --encode --input input.txt --wrapping-keys key=XXX --metadata-output ~/metadata --commitment-policy require-encrypt-require-decrypt --output output.txt

此时output.txt中的加密内容就不会附带多余换行,解密后与原始输入一致。

内容的提问来源于stack exchange,提问作者jonathan-taub-billgo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 22:52:42