后台小程序开发的全方位指南
1156
2022-11-01
01248云影密码
01248云影密码
原理
有1,2,4,8这四个数字,可以通过加法来用这四个数字表示0-9中的任何一个数字,列如0=28, 也就是0=2+8,同理7=124, 9=18。这样之后再用1-26来表示26个英文字母,就有了密文与明文之间的对应关系。引入0来作为间隔,以免出现混乱。所以云影密码又叫“01248密码”。
python编解码
#!/usr/bin/python# -*- coding=utf8 -*-"""# @Author : pig# @CreatedTime:2019-11-2423:54:02# @Description : de_code(c): dic = [chr(i) for i in range(ord("A"), ord("Z") + 1)] flag = [] c2 = [i for i in c.split("0")] for i in c2: c3 = 0 for j in i: c3 += int(j) flag.append(dic[c3 - 1]) return flagdef encode(plaintext): dic = [chr(i) for i in range(ord("A"), ord("Z") + 1)] m = [i for i in plaintext] tmp = [];flag = [] for i in range(len(m)): for j in range(len(dic)): if m[i] == dic[j]: tmp.append(j + 1) for i in tmp: res = "" if i >= 8: res += int(i/8)*"8" if i%8 >=4: res += int(i%8/4)*"4" if i%4 >=2: res += int(i%4/2)*"2" if i%2 >= 1: res += int(i%2/1)*"1" flag.append(res + "0") print ("".join(flag)[:-1])c = input("输入要解密的数字串:")print (de_code(c))m_code = input("请输入要加密的数字串:")encode(m_code)
8842101220480224404014224202480122
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~