需要帮助将字符串加密到ascii,反之亦然

时间:2013-03-13 07:04:33

标签: python cryptography ascii

我正在寻找一种令牌生成方法(用ASCII格式)。应该通过使用加密/转换为ASCII(令牌)的密钥加密字符串来完成语音生成,并且应该能够解密加密的字符串(原始数据)来自使用密钥的令牌。

到目前为止,我所用的所有加密方法都只以字符串格式加密字符串。

3 个答案:

答案 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的东西,即您替换其他人的字符,并根据您的密钥对每个字符执行不同的操作。