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

版权声明:欢迎传播,请标明出处。 https://blog.csdn.net/u201011221/article/details/82785447

网上找了下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.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏学海无涯

一篇文章搞定密码学基础

密码技术是网络安全的基础,也是核心。现在对隐私保护、敏感信息尤其重视,所以不论是系统开发还是App开发,只要有网络通信,很多信息都需要进行加密,以防止被截取篡改...

4059
来自专栏Pythonista

hashlib 算法介绍

什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。

1182
来自专栏腾讯移动品质中心TMQ的专栏

【腾讯TMQ】从 wireshark 抓包开始学习 https

目前互联网大量Web的应用层协议从http迁移到了https,https已经在越来越多的场合替换http协议。近期由于业务需要,我们通过Wireshark对ht...

2.2K2
来自专栏大闲人柴毛毛

聊聊对称/非对称加密在HTTPS中的应用

目前常用的加密算法主要分成三类: 对称加密算法 非对称加密算法 消息摘要算法 在互联网中,信息防护主要涉及两个方面:信息窃取和信息篡改。对称/非对称加密算法能够...

4605
来自专栏安智客

GP TEE需支持的加解密算法

GP TEE规范规定了TEE所需支持的加解密算法标准,一张图表示如下(点击看大图) ? 密码学博大精深,而且在不断发展研究我们今天只是简要介绍一下,后期会有针对...

2526
来自专栏owent

ECDH椭圆双曲线(比DH快10倍的密钥交换)算法简介和封装

前面有几篇blog就提到我有计划支持使用ECDH密钥交换。近期也是抽空把以前的DH密钥交换跨平台适配从atgateway抽离出来,而后接入了ECDH流程。

3463
来自专栏信安之路

Wifi 四次握手认证过程介绍

如今大家都非常熟悉 WiFi 密码常见的破解手法,可是破解的原理你懂吗?我想很多人都是不知道的,所以今天就来简单的讲解一下。

3250
来自专栏Golang语言社区

Golang语言--中AES加密详解

golang标准库中对于aes加密的阐述得非常简洁,如果没有一定的密码学基础知识,是很容易迷惑的。 本文将完整地介绍aes加密的基本知识,并分析网络上常见的调...

5158
来自专栏空帆船w

Android APK 签名原理

Android APK 签名原理涉及到密码学的加密算法、数字签名、数字证书等基础知识,这里做个总结记录。

3803
来自专栏Python

hashlib模块

hashlib模块 算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通...

2249

扫码关注云+社区

领取腾讯云代金券