Python 社会主义核心价值观的加解密工具
本帖最后由 流月汐志 于 2020-1-23 17:41 编辑根据坛友的思路做的一个 Python 版本的社会主义核心价值观加解密工具,
能力有限,代码粗糙,大家将就着看看。
思路:1. 每个字符(不论中文英文)转成 16 位的二进制,不足的左边补零。
2. 然后拆成4*4 的二进制字符串。
3. 转十进制,大于等于 11 的,拆分2个;不大于的补零。保证每个 2 位 十进制数
4. 于是得到 8 位 11 以内的十进制数,查社会主义list,即为加密结果。
原帖地址:https://www.52pojie.cn/thread-1081771-1-1.html
效果图
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
temp_int = ) for y in range(0, 16, 2)]
int_list = +temp_int for x in range(0, 8, 2)]
bin_temp =
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 = ]
for binstr in binstr_list:
len_binstr = len(binstr)
if len_binstr < 16:
binstr = binstr.zfill(16)
temp_list = 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( 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: 觉得有点意思的小伙伴们,路过点个热心呗,蟹蟹了~~
风之暇想 发表于 2020-1-21 16:30
@流月汐志 楼主,这里是原创软件区,请上传编译后的软件,如果只有代码会移动到编程区
请版主帮我移一下,蟹蟹 有意思哈哈 很不错,测试学习好选择 很有意思,写的很棒! 楼主给力!{:1_921:} 哈哈终于出了等很久了 @流月汐志 楼主,这里是原创软件区,请上传编译后的软件,如果只有代码会移动到编程区 想到了做过的那道ctf密码题 感谢分享
页:
[1]
2