OpenSSL自带的aes_128_ecb加密函数——密文长度测试

发表于2017年11月29日 阅读人数(3608)

近来要用到对称加密,就是使用了openssl的库给文件加密,选择的128位的分块加密,对称加密有分块加密和流加密两种。在实验中要考虑文件的长度所以关注到了密文的长度问题。

测试环境:ubuntu16.04

首先使用vi filename.txt 新建了一个文件,输入了15个字符,照理说应该显示文件大小是15个字节,其实ls -l 查看显示的是16个字节,因为linux系统自动在文本添加了$符号,可以在打开文件后进入命令模式输入set list可以看到文件中多了一个$符号。这都是题外话,现在使用OpenSSL命令来加密文件filename.txt:

openssl enc -e -aes-128-ecb -kfile key.txt -in filename.txt -out filename_encryp.txt -p

使用ls -l查看文件filename_encry.txt的大小为48个字节

将filename.txt的文件打开去掉一个字符,文件大小变为了15个字节,再使用OpenSSL命令来加密文件,这之后得到文件大小为32个字节。

这是为什么呢?

由于aes-128-ecb是分块加密,块的大小设定是16个字节,当文件块大小不是16的倍数时,会先将文件分块后不足16个字节的块填充补全为16个字节,而刚好能够整除16的文件大小怎么处理呢,OpenSSL会添加一个16字节的数据。这样看来加密后的数据还是多了16个字节,我打开看了密文看见了salt的文字,正好盐值也是16个字符,可能密文中保存了盐值的16个字节。

openssl 测试加密卡_OpenSSL自带的aes_128_ecb加密函数——密文长度测试相关推荐

  1. windows加密和linux加密_Windows系统自带的BitLocker加密方法

    用了这么多年电脑,或多或少都有想过给分区(盘).文件夹.文件加密的想法:当然,我也不例外,我读大学的时候就下载过加密软件,但是感觉都怎么好用:直到Windows 7中才普及了BitLocker这个功能 ...

  2. 记录一下用PN532在手机上写入加密卡

    自从小米发布第一款手机开始,就一直用小米,都换了几部了,其中的NFC模拟门卡功能很好用,出门少带了不少零碎,小区门禁卡.幼儿园接送卡都成功的模拟之后写入手机上了.毛衣战以来,民族自豪感被激发了出来,看 ...

  3. cuid卡写入后锁死_荣耀手机NFC升级了:公交、门禁、支付、饭卡、加密卡还能写卡...

    2019年双十一期间,入手了荣耀magic2手机,其实去年用过一次,今年换了多次还是特别喜欢,主要是麒麟980旗舰CPU,全面滑屏特有面子. 入手的第一时间,自己就启用了手机的钱包功能,手机钱包除了小 ...

  4. PN532模块复制IC加密卡

    PN532模块复制IC加密卡 忍受够了每天都需要带着各种各样的卡片,如果可以将卡复制进手机里,那我就可以只带着手机,每天出门都是轻装上阵. 只要你的手机拥有nfc功能,那你可以直接将卡模拟进手机里,当 ...

  5. android nfc读取公交卡信息_荣耀手机NFC升级了:公交、门禁、支付、饭卡、加密卡还能写卡...

    2019年双十一期间,入手了荣耀magic2手机,其实去年用过一次,今年换了多次还是特别喜欢,主要是麒麟980旗舰CPU,全面滑屏特有面子. 入手的第一时间,自己就启用了手机的钱包功能,手机钱包除了小 ...

  6. 利用Java自带的MD5加密java.security.MessageDigest;

    MD5加密算法,即"Message-Digest Algorithm 5(信息-摘要算法)",它由MD2.MD3.MD4发展而来的一种单向函数算法(也就是HASH算法),它是国际著 ...

  7. nfc加密卡pm3和pm5区别_小米手环4/5 NFC添加加密门禁

    什么是 NFC 近场通信技术(Near-field communication,NFC)由非接触式射频识别(RFID)演变而来,由飞利浦半导体(现恩智浦半导体).诺基亚和索尼共同于2004年研制开发, ...

  8. DPDK支持的硬件:CPU、网卡NIC、加密引擎、基带加速器

    DPDK支持的硬件:CPU.网卡NIC.加密引擎.基带加速器 https://core.dpdk.org/supported/ 目录 CPUs - 处理器 NICs - 网卡 Crypto Engin ...

  9. android beam小米,小米手机自定义空白卡模拟加密卡门禁卡教程

    小米手机自定义空白卡模拟加密卡门禁卡教程,使用MIUI自带门卡模拟功能,并尝试烧录完整数据,不依赖任何第三方软件.不会对系统做什么恶,意,修,改,也不会对其他依赖NFC的服务(小米公交.Mi Pay银 ...

最新文章

  1. JavaScript: 设置Cookie
  2. java做台球时老是闪屏_电脑老是闪屏的原因和解决办法
  3. 字节输入流读取字节数据
  4. IDEA新建maven项目漏掉webapp目录解决方法
  5. Javascript--节点类型
  6. java碰到边界变颜色_求教!!!小球撞墙怎么改变颜色。
  7. 移动端性能优化系列—启动速度
  8. 程序员对辉瑞新冠疫苗的计算解读,这些常识可能你也不知道
  9. 显示js对象所有属性和方法的函数
  10. 洛丽运动会 NFT 作品集第一弹
  11. MS13-046特权提升漏洞(转)
  12. 计算机按键去抖动的方式,键盘去抖动原则和方法
  13. 财务分账是什么意思?
  14. Win10 上使用 MSYS 开发 Android NDK 程序
  15. 使用酷狗音乐api实现歌曲的搜索和下载
  16. DDR3基本概念2 - 上电复位时序
  17. AMDCPU使用VMware16安装黑苹果,客户机操作系统已禁用 CPU
  18. Microsoft Teams Voice语音落地系列-3 实战:拨号计划的配置
  19. 对不起,我不再爱你了
  20. windows下使用nginx 端口转发 frp内网转发

热门文章

  1. vmware安装ubuntu13版本的vm tools时遇到的错误解决
  2. 在哪里查看计算机配置的网络协议簇,tcp/ip协议簇
  3. html css纵向滑动列表,JS实现的简洁纵向滑动菜单(滑动门)效果
  4. assetbundle能不能删除_Unity3d爬坑篇(2)之Assetbundle、Shader和Keyword
  5. .ajax get 写法,原生Ajax写法(GET)
  6. vant显示日期格式_Vue+Vant ui实现日期时间选择
  7. java添加容器_如何为Java应用程序构建docker容器
  8. 服务器位置缩写,服务器地区缩写
  9. python2中可以使用print()函数吗_在Python2.x中使用print()(函数版本)
  10. 链接ftp命令行_windows下最轻便的FTP/SCP文件管理器