使用openssl命令加解密 aes-128-cbc的简单示例

本文详细介绍了使用OpenSSL进行AES-128-CBC模式加解密的具体步骤,包括设置salt、key和iv,以及如何验证加密解密过程的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网上找了下openssl 加解密 aes-128-cbc相关命令, 发现都比较含糊, 这里是摸索出的一个aes-12b-cbc加解密的实例.

  1. 将要加密的内容输入到plain.txt
    echo "1234567890abc" > plain.txt

  2. 使用openssl加密. -p 表示打印出加密用的salt, key, iv. salt就是所谓的加盐, 防止同样的内容产生同样的加密数据. iv和key是openssl 的cbc模式需要的参数. 关于aes加密, 详情可见漫画:什么是 AES 算法?,漫画:AES 算法的底层原理, AES加密算法动画演示.
    openssl enc -aes-128-cbc -in plain.txt -out encrypt.txt -iv f123 -K 1223 -p
    salt=E0DEB1EAFE7F0000
    key=12230000000000000000000000000000
    iv =F1230000000000000000000000000000

  3. 输出加密前和加密后内容的十六进制. 这里使用xxd和hexdump都可以.
    xxd plain.txt
    00000000: 3132 3334 3536 3738 3930 6162 630a 1234567890abc.
    xxd encrypt.txt
    00000000: c5af 18cb ddee 9923 0374 6a21 9bb6 3f99 …#.tj!..?.

  4. 解密加密后的数据
    openssl aes-128-cbc -d -in encrypt.txt -out encrypt_decrypt.txt -S E0DEB1EAFE7F0000 -iv F1230000000000000000000000000000 -K 12230000000000000000000000000000
    -S salt Salt to use, specified as a hexidecimal string
    -salt Use a salt in the key derivation routines (default)

  5. 查看解密后的数据和原始数据是否一致.
    xxd encrypt_decrypt.txt
    00000000: 3132 3334 3536 3738 3930 6162 630a 1234567890abc.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值