我在应用程序中使用PyCrypto来加密数据,但由于某种原因,无论我做什么,前8个字节(对应于第一个块)都会损坏.

>>> from Crypto.Cipher import DES3

>>> from Crypto import Random

>>> iv = Random.new().read(DES3.block_size)

>>> key = Random.new().read(DES3.key_size[-1])

>>> des3 = DES3.new(key, DES3.MODE_CBC, iv)

>>> des3.decrypt(des3.encrypt('12345678abcdefgh12345678'))

't\x1b\x0f\xcbD\x15M\xababcdefgh12345678'

我已经读到这是IV已损坏的迹象,但是这些消息来源还说使用CBC以外的模式会导致整个消息损坏.情况并非如此:

>>> des3 = DES3.new(key, DES3.MODE_CFB, iv)

>>> des3.decrypt(des3.encrypt('12345678abcdefgh12345678'))

'\xe1\x85\xae,\xf1m\x83\x9cabcdefgh12345678'

我也可以排除密码的原因:

>>> from Crypto.Cipher import AES

>>> from Crypto import Random

>>> iv = Random.new().read(AES.block_size)

>>> key = Random.new().read(AES.key_size[-1])

>>> aes = AES.new(key, AES.MODE_CBC, iv)

>>> aes.decrypt(aes.encrypt('12345678abcdefgh12345678abcdefgh'))

'\xa7l\x00]\x1cW\xec\xd0\x04\x06\xba&\x1663\xd712345678abcdefgh'

请注意,在此示例中,前16个字节已损坏,这对应于AES的块大小.

python 3des加密_python – 使用3DES和CBC破坏我的加密数据的前8个字节相关推荐

  1. java ios 3des_IOS开发入门之iOS 3DES加密 和 java 3DES 解密

    本文将带你了解IOS开发入门之iOS 3DES加密  和 java  3DES 解密,希望本文对大家学ios有所帮助 对称加密算法 3des   在iOS 客户端加密算法 首先进入头文件: #impo ...

  2. python把字符串3des加密_Python干货之六大密码学编程库

    信息加密和信息隐藏是实现信息安全与保密的主要手段.除了一些经典的加密解密算法和自己设计的加密算法之外,我们还可以充分利用Python标准库和扩展库提供的丰富功能来辅助我们完成信息加密解密实现.本文收集 ...

  3. 3des加密 java php_php 3des加密 兼容JAVA 多么痛的领悟呀

    最近和别人做接口用到SOCKET TCP/IP方式 其中需要对账号和密码进行3DES加密 对方提供了一个加密比对的软件和JAVA的实现代码 并且给了我们一个长度为32位的密钥 这边需要用PHP来实现! ...

  4. python aes加密 cbc_Python实现AES的CBC模式加密和解密过程详解 和 chr() 函数 和 s[a:b:c] 和函数lambda...

    1.chr()函数 chr() 用一个范围在 range(256)内的(就是0-255)整数作参数,返回一个对应的字符. 2.s[a:b:c] s=(1,2,3,4,5) 1>. s[a]下标访 ...

  5. java 3des加密_Java使用3DES加密解密的流程 - 3des加密解密详细解释

    Java使用3DES加密解密的流程 ①传入共同约定的密钥(keyBytes)以及算法(Algorithm),来构建SecretKey密钥对象 SecretKey deskey = new Secret ...

  6. python md5加密_Python MD5加密实例详解

    详解Python MD5加密 Python 3下MD5加密 # 由于MD5模块在python3中被移除 # 在python3中使用hashlib模块进行md5操作 import hashlib # 待 ...

  7. java ios 3des加密,iOS 3DES加密 和 java 3DES 解密

    对称加密算法 3des 在iOS 客户端加密算法 首先进入头文件: #import #import #import -(NSString*)TripleDES:(NSString*)plainText ...

  8. python 文件加密_python实现文件快照加密保护的方法

    本文实例讲述了python实现文件快照加密保护的方法.分享给大家供大家参考.具体如下: 这段代码可以对指定的目录进行扫描,包含子目录,对指定扩展名的文件进行SHA-1加密后存储在cvs文件,以防止文件 ...

  9. python程序加密_Python简单的加密程序:如何循环Z回到A

    我会推荐使用模数运算符来做你想要的.在python中是%字符.在模数学中. X%Y告诉我们X/Y的剩余部分是什么.例如. 27%26是1.使用这个你可以得到你想要的包装.这里是一个代码示例位,如果我们 ...

最新文章

  1. ONNX+TensorRT
  2. zip的用法python_Python学习之zip函数的用法
  3. 最新翻译的官方PyTorch简易入门教程(PyTorch1.0版本)
  4. JavaScript实现RadixSort基数排序算法(附完整源码)
  5. HDU-水饺基情 二维树状数组
  6. python画图模块_学习python画图模块plotnine:第一步安装
  7. 第 1-6 课:玩转时间 + 面试题
  8. flume + kafka
  9. 信息学奥赛一本通 1067:整数的个数 | OpenJudge NOI 1.5 11
  10. 通过 NPOI 生成 Excel
  11. CCF CSP201903-1 小中大
  12. Lyn for Mac v2.1 中文版 – 轻量级图片浏览器
  13. Pytorch 情感分类进阶
  14. Newton插值法 | 差商 + Newton插值公式 + 插值余项
  15. java 设置 cors,Spring MVC配置CORS
  16. DQ坐标轴锁相环(pll)
  17. SQLAlchemy批量操作数据
  18. 薅羊毛专业版第三十六次更新
  19. matlab零状态响应幅度频谱,频域分析法求解零状态响应的matlab过程
  20. 微服务生态系统的4层模型

热门文章

  1. ACM MM18 | 用于跨模态检索的综合距离保持自编码器
  2. 数字图像处理与Python实现笔记之彩色图像处理初步
  3. linux安装autossh详细教程,在Linux下安装autossh的教程
  4. Connect Three
  5. 爱摸鱼的Dillonh
  6. mysql建表用的什么语句_mysql建表常用sql语句个人经验分享
  7. 2021年 第13届 全国大学生数学竞赛 初赛(非数学类)试题详细解答
  8. 操作系统【逻辑空间、物理空间与页表大小的关系】【分页地址映射(方法+例题)】
  9. MySQL学习笔记07【事务、用户管理和权限管理】
  10. JavaScript基础12-day14【DOM查询(获取元素节点、获取元素节点的子节点)、全选练习、DOM增删改、DOM添加删除记录、Window对象方法】