用户:
小麦做的面包查看:5 回复:3 评论:5 创建时间:2022-08-04T14:06:12
【作品展示】

【作品介绍】
没什么用的加密算法我打算叫它BMW(Bread made of Wheat)算法(雾
【作品源代码】
import json,time
with open('password.json') as f:
file=json.load(f)
og2pw=file['og_pw']['og2pw']
pw2og=file['og_pw']['pw2og']
num2abc = file['num_abc']['num2abc']
abc2num = file['num_abc']['abc2num']
while True:
choose=input('1:加密 2:解密:')
if choose=='1':
text=input('请输入:')
#step1
flag=0
step1=''
for i in text:
if i in og2pw[not flag]:
step1+='111'
flag=not flag
step1 += og2pw[flag][i]
#step2
step2=''
total=0
flag='0'
for i in step1:
if i==flag:
total+=1
else:
flag='1' if flag=='0' else '0'
step2+=str(total)
total=1
step2+=str(total)
#step3
step3=''
total=0
for i in step2:
if i !='1':
if total!=0:
step3+=num2abc[str(total)]
total=0
step3+=i
else:
total+=1
if total!=0:
step3 += num2abc[str(total)]
print(step3)
elif choose=='2':
step3 = input('请输入:')
#step3~2
step2=''
for i in step3:
if i not in abc2num:
step2+=i
else:
step2+='1'*abc2num[i]
#step2~1
step1=''
flag='0'
for i in step2:
step1+=flag*int(i)
flag='1' if flag=='0' else '0'
#step1~text
step=step1
text=''
flag = 0
while True:
if step[:3] == '111':
flag=not flag
step=step[3:]
else:
num = 5-flag
text += pw2og[step[:num]]
step = step[num:]
if len(step) < num:
break
print(text)
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn
小麦做的面包password.json
{"og_pw": {"og2pw": [{"a": "00001", "b": "00010", "c": "00011", "d": "00100", "e": "00101", "f": "00110", "g": "00111", "h": "01000", "i": "01001", "j": "01010", "k": "01011", "l": "01100", "m": "01101", "n": "01110", "o": "01111", "p": "10000", "q": "10001", "r": "10010", "s": "10011", "t": "10100", "u": "10101", "v": "10110", "w": "10111", "x": "11000", "y": "11001", "z": "11010"}, {"1": "0001", "2": "0010", "3": "0011", "4": "0100", "5": "0101", "6": "0110", "7": "0111", "8": "1000", "9": "1001", "0": "0000", " ": "1010"}], "pw2og": {"00001": "a", "00010": "b", "00011": "c", "00100": "d", "00101": "e", "00110": "f", "00111": "g", "01000": "h", "01001": "i", "01010": "j", "01011": "k", "01100": "l", "01101": "m", "01110": "n", "01111": "o", "10000": "p", "10001": "q", "10010": "r", "10011": "s", "10100": "t", "10101": "u", "10110": "v", "10111": "w", "11000": "x", "11001": "y", "11010": "z", "0001": "1", "0010": "2", "0011": "3", "0100": "4", "0101": "5", "0110": "6", "0111": "7", "1000": "8", "1001": "9", "0000": "0", "1010": " "}}, "num_abc": {"num2abc": {"1": "a", "2": "b", "3": "c", "4": "d", "5": "e", "6": "f", "7": "g", "8": "h", "9": "i", "10": "j", "11": "k", "12": "l", "13": "m", "14": "n", "15": "o", "16": "p", "17": "q", "18": "r", "19": "s", "20": "t", "21": "u", "22": "v", "23": "w", "24": "x", "25": "y", "26": "z"}, "abc2num": {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5, "f": 6, "g": 7, "h": 8, "i": 9, "j": 10, "k": 11, "l": 12, "m": 13, "n": 14, "o": 15, "p": 16, "q": 17, "r": 18, "s": 19, "t": 20, "u": 21, "v": 22, "w": 23, "x": 24, "y": 25, "z": 26}}}点赞2
评论