将字符串消息翻译成一组数字 python
translate a string message into a set of numbers python
我在 python 上实现了 RSA 算法。但我有一个问题,即您需要以数字形式(一组数字)显示任何消息才能提高幂次。困难在于,如果您使用 ascii 执行此操作,您如何知道字符 1、2 或 3 的 ascii 代码中有多少位用于明确解码。还有其他选择吗?
def decodeMessage(self, encodedMessage):
decodedBlocks = []
for block in encodedMessage:
decoded = self.mod_exp(block, self.e, self.N)
decodedBlocks.append(decoded)
return decodedBlocks
在 binascii 中找到了一个解决方案,它让我将一个字符串转换为一组数字。
message = message.strip()
b = message.encode('utf-8')
hex_data = binascii.hexlify(b)
cipher = int(hex_data, 16)
在我转换回来的所有操作之后:
h2 = hex(result)[2:]
b2 = h2.encode('ascii')
b3 = binascii.unhexlify(b2)
answer = b3.decode('utf-8')
我在 python 上实现了 RSA 算法。但我有一个问题,即您需要以数字形式(一组数字)显示任何消息才能提高幂次。困难在于,如果您使用 ascii 执行此操作,您如何知道字符 1、2 或 3 的 ascii 代码中有多少位用于明确解码。还有其他选择吗?
def decodeMessage(self, encodedMessage):
decodedBlocks = []
for block in encodedMessage:
decoded = self.mod_exp(block, self.e, self.N)
decodedBlocks.append(decoded)
return decodedBlocks
在 binascii 中找到了一个解决方案,它让我将一个字符串转换为一组数字。
message = message.strip()
b = message.encode('utf-8')
hex_data = binascii.hexlify(b)
cipher = int(hex_data, 16)
在我转换回来的所有操作之后:
h2 = hex(result)[2:]
b2 = h2.encode('ascii')
b3 = binascii.unhexlify(b2)
answer = b3.decode('utf-8')