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加密】
最新推荐文章于 2024-04-15 16:20:14 发布