您现在的位置是:网站首页>文章详情文章详情

DES加密密钥超过8位的问题

inlike2020-07-14 原创文章 浏览(4979) 评论(0) 喜欢(37)

简介DES加密密钥超过8位报错Invalid DES key size. Key must be exactly 8 bytes long.

有时使用DES加密时密钥超过8位报错,这种情况常见于使用Python实现JavaScript的场景中,从JavaScript获取的密钥有时不止8位。

在使用pyDes实现DES加密时,初始化des是必须要8位密码的,但是我们可以先通过使用一个随意的8位密钥先初始化des对象,然后调用setkey()方法传入超过8位的密钥重置。

from pyDes import des, PAD_PKCS5
import base64

encry = des("0" * 8)
encry.setKey("123456789")
result = encry.encrypt("密文".encode(), padmode=PAD_PKCS5)
base = base64.b64encode(result).decode()

# 打印
'2xC7EUPxQY4='

image.png

之前博客格式问题,丢了部分代码内容,现在重新更新一下。

很赞哦! ( 37)
    《Python实战进阶》
    None
    None
    夏至已深

站点信息

  • 建站时间:2019-5-24
  • 网站程序:like in love
  • 主题模板《今夕何夕》
  • 文章统计:104条
  • 文章评论:***条
  • 微信公众号:扫描二维码,关注我们
  • 个人微信公众号