本文来源吾爱破解论坛
本帖最后由 流月汐志 于 2020-1-23 17:41 编辑 TIM截图20200121152837.png (55 KB, 下载次数: 0)
下载附件
保存到相册
根据坛友的思路做的一个 Python 版本的社会主义核心价值观加解密工具,
能力有限,代码粗糙,大家将就着看看。
思路:1. 每个字符(不论中文英文)转成 16 位的二进制,不足的左边补零。
2. 然后拆成 4*4 的二进制字符串。
3. 转十进制,大于等于 11 的,拆分2个;不大于的补零。保证每个 2 位 十进制数
4. 于是得到 8 位 11 以内的十进制数,查社会主义list,即为加密结果。
原帖地址:https://www.52pojie.cn/thread-1081771-1-1.html
效果图
[Python] 纯文本查看 复制代码
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: 觉得有点意思的小伙伴们,路过点个热心呗,蟹蟹了~~
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。
- 上一篇: 【python爬虫】福利,手把手教你python爬取美足船袜网源码!
- 下一篇: python井字棋