我有代码将文本文件转换为ASCII字符,并通过8个生成的数字创建随机偏移因子。我现在需要使用该偏移因子来转换文件并对其进行加密。我的问题是如何?
答案 0 :(得分:3)
您可能应该在问题中添加更多信息,但这可能会让您入门。要将字母转换为ASCII整数值,请使用ord:
print ord('a')
要将整数转换为相应的ASCII字母(如果整数在ASCII范围内),请使用chr:
print chr(97)
一个例子可能是:
def GetOffSet(letter):
return 17 # we don't know how you are creating your offset
message = 'i like turtles'
encrypted_message = ''.join([ chr(ord(letter)+GetOffSet(letter)) for letter in message ])
decrypted_message = ''.join([ chr(ord(letter)-GetOffSet(letter)) for letter in encrypted_message ])
print decrypted_message
但是存在一个危险,即你的偏移会将整数推到ASCII范围之外,你需要在某种程度上防止/处理它。