python实现DES加密和解密 您所在的位置:网站首页 des解密图 python实现DES加密和解密

python实现DES加密和解密

2024-05-28 16:42| 来源: 网络整理| 查看: 265

DES是一种将64比特的明文加密成64比特的密文对称密码算法。DES是以64比特的明文为一个单位来进行加密的,这个64比特的单位成为分组,所以DES密码又称为分组密码

DES的基本结构是由Horst Feistel 设计的,因此也称为Feistel网络或Feistel结构,在Feistel网络中加密的哥哥步骤成为轮(round),整个加密过程就是进行若干次轮的循环。如下图所示(来自百度百科): des加密流程图

下面用具体的代码实现DES的加密,解密的过程完全一样,不过是密钥逆用。 1.首先将将明文和密钥转化为二进制,以64位分一组,最后不足的用0补齐 # 将明文转化为二进制 def str2bin(message): res = '' for i in message: tmp = bin(ord(i))[2:] # 将每个字符转化成二进制 tmp = str('0' * (8 - len(tmp))) + tmp # 补齐8位 res += tmp if len(res) % 64 != 0: count = 64 - len(res) % 64 # 不够64位补充0 else: count = 0 res += '0' * count return res # 将密钥转化为二进制 def key2bin(key): res = '' for i in key: tmp = bin(ord(i))[2:] # 将每个字符转化成二进制 tmp = str('0' * (8 - len(tmp))) + tmp # 补齐8位 res += tmp if len(res)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有