from Crypto.Cipher import DES
import codecs
import sys
key = b'abcdefgh' # 密钥 8位或16位,必须为bytes
count = 0
def pad(text):
# 如果text不是8的倍数【加密文本text必须为8的倍数!】,补足为8的倍数
while len(text) % 8 != 0:
text += ' '
return text
des = DES.new(key, DES.MODE_ECB) # 创建DES实例
count = 0
while True:
mode = input("(加密/解密)?")
if mode == "加密":
text = input("请输入原始字符:")
padded_text = pad(text)
encrypted_text = des.encrypt(padded_text.encode('utf8')) # 加密
print("加密结果为:" + str(encrypted_text)[2:-1])
elif mode == "解密":
desCode = codecs.escape_decode(input("请输入密文:").encode('utf8'))
decrypted_text = des.decrypt(desCode[0]).decode('utf8').rstrip(' ') # 解密
print("解密为:" + str(decrypted_text))
elif mode == "q":
print("QUIT")
sys.exit()
else:
print("请输入正确的指令")
count = count + 1
if count >= 3:
print("BUSY")
sys.exit()
【Python实现Des加密】
最新推荐文章于 2025-11-06 15:29:04 发布
该代码示例展示了如何在Python中使用DES算法进行加密和解密操作。程序首先定义了一个8位的密钥,然后通过DES.new()创建加密对象。用户可以选择加密或解密模式,输入相应的文本。加密后的结果会打印出来,解密时则需要输入已加密的文本并返回解密后的原始内容。
1687

被折叠的 条评论
为什么被折叠?



