社会主义核心价值观(编解码)(附py脚本)

https://github.com/xk-mt/Core-socialist-values-codec

链接: 社会主义核心价值观编解码(GitHub代码)

编解码过程

1.把字符通过UTF-8编码成十六进制数据

2.把十六进制遍历,大于10的数据转成 【(11,a-6),(10,a-10)】 随机二选一【所以多次编码后的内容不一致】

3.把下面列表导入,从0开始遍历循环输出内容。

[‘富强’, ‘民主’, ‘文明’, ‘和谐’, ‘自由’, ‘平等’, ‘公正’, ‘法治’, ‘爱国’, ‘敬业’, ‘诚信’, ‘友善’]

举例 手动编码

编码内容:

1.使用UTF-8编码“”,得到“E68891
在这里插入图片描述

2.把“E68891”拆分成列表并且转10进制,“E”16转10进制是“14”,大于10的需要截取,转成 【(11,14-6),(10,14-10)】 随机二选一所以这里是的“E”变成了“10,4

		E68891
    E   6  8  8  9  1
[10, 4, 6, 8, 8, 9, 1]

3.从社会主义核心价值观读取显示出来

[  10  ,   4  ,    6  ,    8  ,    8  ,   9  ,    1  ]
['诚信', '自由', '公正', '爱国', '爱国', '敬业', '民主']

'诚信自由公正爱国爱国敬业民主'
富强:0
民主:1
文明:2
和谐:3
自由:4
平等:5
公正:6
法治:7
爱国:8
敬业:9
诚信:10
友善:11

4.网页解码校验

下面两个链接均可以编解码
链接: 社会主义核心价值观加密/解密(atoolbox)
链接: 社会主义核心价值观加密/解密(duoluosb)

在这里插入图片描述

编码脚本(python)

import random

while 1:
    str1 = str(bytes(input('输入要编码的文本:'), encoding='u8'))[2:-1].replace('\\x', '')
    list1 = []
    for f1 in str1:
        str2 = int(f1, 16)
        if str2 < 10:
            list1.append(str2)
        elif random.random() < 0.5:
            list1.append(11)
            list1.append(str2 - 6)
        else:
            list1.append(10)
            list1.append(str2 - 10)
    str1 = '富强民主文明和谐自由平等公正法治爱国敬业诚信友善'
    str1 = ''.join([str1[f1 << 1] + str1[f1 << 1 | 1] for f1 in list1])
    print('编码结果:',str1,'\n'*3)

解码脚本(python)

while 1:
    str1 = input('输入要解码的文本:')
    list1 = ['富强', '民主', '文明', '和谐', '自由', '平等', '公正', '法治', '爱国', '敬业', '诚信', '友善']
    list1 = [list1.index(str1[f1 << 1] + str1[f1 << 1 | 1]) for f1 in range(int(len(str1)/2))]
    a = 0
    list2 = []
    while a < len(list1):
        if list1[a] < 10:
            list2.append(str(list1[a]))
        elif list1[a] == 10:
            a += 1
            list2.append(hex(list1[a]+10)[2:])
        else:
            a += 1
            list2.append(hex(list1[a]+6)[2:])
        a += 1
    str1 = bytes.fromhex(''.join(list2)).decode('utf-8')
    print('解码结果:', str1, '\n'*3)

参考链接:
链接: [Java原创]中国红色加密–新型中文加密算法社会主义核心价值观加密方法解析+python版复现-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

米汤爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值