【发布时间】:2018-05-16 20:43:01
【问题描述】:
我正在尝试对字符串进行模糊处理,以便用户不容易阅读。但是,混淆后的字符串应该是可以存储在文本文件中的字符串形式,而不是要存储在二进制文件中的字节形式。我尝试了Simple way to encode a string according to a password? 的一些方法,但没有成功:
def myencode(ori_str, key):
enc = []
for i in range(len(ori_str)):
key_c = key[i % len(key)]
enc_c = (ord(ori_str[i]) + ord(key_c)) % 256
enc.append(enc_c)
return base64.urlsafe_b64encode(bytes(enc))
上述 fn 的输出需要存储在二进制文件中。将..._b64encode(bytes(enc)) 更改为..._b64encode(enc) 不起作用。
我怎样才能获得可以存储在文本文件中的类似结果?
编辑: 对应的decode fn如下:
def mydecode(enc_str, key):
dec = []
enc_str = base64.urlsafe_b64decode(enc_str)
for i in range(len(enc_str)):
key_c = key[i % len(key)]
dec_c = chr((256 + enc_str[i] - ord(key_c)) % 256)
dec.append(dec_c)
return "".join(dec)
【问题讨论】:
标签: python-3.x encode