我正在寻找一种令牌生成方法(用ASCII格式)。应该通过使用加密/转换为ASCII(令牌)的密钥加密字符串来完成语音生成,并且应该能够解密加密的字符串(原始数据)来自使用密钥的令牌。
到目前为止,我所用的所有加密方法都只以字符串格式加密字符串。
答案 0 :(得分:1)
ord(<char>)
将输出输入字符的ascii值。
chr(<int>)
将输出输入的ascii数字的字符值。
您的密钥可以像将字符输入移动一定数量一样简单:
ord('c')+4
返回103,因为ord('c')= 99,即字符'c'的ascii值。因此,添加4到99会使其返回103.如果解码为字符则不会返回'c'。
这个的反向过程将从该值中减去四个,所以如果你将前一个值103存储在一个名为“num”的变量中
chr(num-4)
会返回正确的字符:'c'
我希望这能帮助你,就像它帮助我一样
答案 1 :(得分:0)
我几乎可以肯定你的加密算法并不安全。
无论如何,您只能使用base64编码将二进制字符串编码为字母+数字。+
a.encode('base64')
答案 2 :(得分:0)
所有现代流密码都以完整字节为单位工作,而您假定的限制似乎最多只有127个合法字符,如果您排除不可打印的控制字符,则为95。因此,要么您应用标准密码并将结果转换回可打印的字符作为建议的pst,要么您构建一个名为polyalphabetic substitution cipher的东西,即您替换其他人的字符,并根据您的密钥对每个字符执行不同的操作。