从字符串生成用于加密的整数,反之亦然

问题描述 投票:2回答:1

我想在python3中编写一个RSA代码。我需要将用户输入字符串(包含任何字符,而不仅仅是数字)转换为整数,然后加密它们。没有第三方模块的Python 3.6中将sting转换为整数的最佳方法是什么?

python-3.x rsa
1个回答
5
投票

如何将字符串编码为整数远非独一无二......有很多方法!这是其中之一:

strg = 'user input'
i = int.from_bytes(strg.encode('utf-8'), byteorder='big')

那么另一个方向的转换是:

s = int.to_bytes(i, length=len(strg), byteorder='big').decode('utf-8')

是的,您需要在转换回来之前知道结果字符串的长度。如果length太大,字符串将用左边的chr(0)填充(使用byteorder='big');如果length太小,int.to_bytes将提高OverflowError: int too big to convert

© www.soinside.com 2019 - 2024. All rights reserved.