用户:
信好离李阿查看:0 回复:1 评论:0 创建时间:2023-01-05T16:31:50
Python加密与解密代码和教程
本人第一次发布教程帖子,请大家多多指教(大佬勿喷!)
回归话题,今天作者是来讲讲Python语言解密与解密代码教程,首先讲解密的代码。
大家都知道Python中使用的是UTF-8编码实现与数字之间的映射(不知道的假装一下,作者不想多讲)。在本帖子这个例子上如果直接使用UTF-8编码,很容易就被破解,因此需要我们在原来的编码的基础上设定一个新的规则——字符对应的编码*10+5(这里可以随意设置,但是解密程序也要对应),从而得到 × 位密码(这个位数是根据前面新的规则变化的,是6位数的密码)。
再来分析一下流程。本程序的关键点是将字符转换成编码,字符串中的每一个字符都采用同样的方法进行转换,因此这个过程我们可以自定义一个加密函数encrypt()来实现,再通过循环对字符串里的每个字符进行加密。
接下来就是看代码了(作者敲了敲电脑!!):
下面是加密程序的代码(以下代码可以全部复制):
def encrypt(c):
return ord(c) * 10 + 5 #" * 10 + 5"这里不用空格,作者为了美观,用了控制台也不会报错,还有,这个规则是可以随意设置的。
print("输入需要加密的文字:")
strs = input()
encrypted1STRS = ""
for i in strs:
encrypted1C = encrypt(c) #将encrypt(c) 函数返回的数值赋值给变量encrypted1C
encrypted1STRS = encrypted1STRS+str(encrypted1C) + ""
#连接加密后的编码
print("加密后:",encrypted1STRS)
下面是解密程序的代码(以下代码可以全部复制):
def decrypt(i):
i = int(i)
return chr(int((i-5)/10)) #chr()函数将编码转换成字符
print("输入需要解密的编码,多个编码用空格分隔")
codes = input()
decrypted2STRS = ""
for i in codes.split(""): #将decrypt(i)函数返回的字符赋值给变量decrypted2c
decrypted2c = decrypt(i)
decrypted2STRS += decrypted2c #连接解密后的字符
print("解密后:", decrypted2STRS)
好了,代码全部都在上面了,不懂的在评论区留言,拜了个拜!