最新公告
  • 欢迎您光临SEO站长网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 社会主义核心价值观的加解密工具

    根据坛友的思路做的一个 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. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!503806699@qq.com
    2. 本站所提供下载的资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
    3. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有学币奖励和额外收入!

    SEO站长网 » 社会主义核心价值观的加解密工具

    发表评论

    你的前景,远超我们想象

    选择学么=选择高薪,选择=成功

    • 原创课程

      课程独家原创

    • 零基础

      人人都能轻松入门

    • 注重实战

      轻理论重实战讲实效

    • 高品质

      一对一在线答疑

    • 用心服务

      解除后顾之忧

    • 手机学习

      随时随地轻松学习