Loading
0

社会主义核心价值观的加解密工具

根据坛友的思路做的一个 Python 版本的社会主义核心价值观加解密工具,
能力有限,代码粗糙,大家将就着看看。
思路:1. 每个字符(不论中文英文)转成 16 位的二进制,不足的左边补零。
2. 然后拆成  4*4 的二进制字符串。
3. 转十进制大于等于 11 的,拆分2个;不大于的补零。保证每个 2 位 十进制
4. 于是得到 8 位 11 以内的十进制数,查社会主义list,即为加密结果。


效果图

 

[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
def decoder(string):
    len_str = len(string)
    if len_str % 16 != 0:
        return 0
    result = ''
    for x in range(0, len_str, 16):
        decode_char = string[x:x+16]
        temp_int = [ENSTRS.index(decode_char[y:y+2]) for y in range(0, 16, 2)]
        int_list = [temp_int[x]+temp_int[x+1] for x in range(0, 8, 2)]
        bin_temp = [bin(i).replace('0b', '') for i in int_list]
        binstr_list = []
        for b in bin_temp:
            if len(b) < 4:
                binstr_list.append(b.zfill(4))
            else:
                binstr_list.append(b)
        binstr = ''.join(binstr_list)
        result = result + chr(int(binstr, 2))
    return result
def encoder(string):
    result = ''
    binstr_list = [b.replace('0b', '') for b in [bin(ord(c)) for c in string]]
    for binstr in binstr_list:
        len_binstr = len(binstr)
        if len_binstr < 16:
            binstr = binstr.zfill(16)
        temp_list = [binstr[start:start+4] for start in range(0, 16, 4)]
        int_list = []
        for i in temp_list:
            i = int(i, 2)
            if i >= 11:
                int_list.append(11)
                int_list.append(i - 11)
            else:
                int_list.append(0)
                int_list.append(i)
        result = result + ''.join([ENSTRS[index] for index in int_list])
    return result
ENSTRS = ("富强", "民主", "文明", "和谐", "自由", "平等",
          "公正", "法治", "爱国", "敬业", "诚信", "友善")
while True:
    input_str = input("1. 加密    2. 解密\n请选择:")
    if input_str in ['eof', 'EOF', 'quit', 'QUIT', 'exit', 'EXIT']:
        break
    elif input_str in ['1', '加密']:
        encode_str = input("请输入字符串:\n")
        result = encoder(encode_str)
        print("加密结果:\n{}".format(result))
    elif input_str in ['2', '解密']:
        decode_str = input("请输入加密字符串:\n")
        result = decoder(decode_str)
        print("解密结果:\n{}".format(result))
    else:
        print("输入有误!")

ps: 觉得有点意思的小伙伴们,路过点个热心呗,蟹蟹了~~

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请点击后面字体→到投诉版块区举报,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.seozhan.cn",如遇到无法解压的请联系管理员!