我正在尝试在python3中编写RSA代码。我需要将用户输入的字符串(不仅包含数字,还包含任何字符)转换为整数,然后对其进行加密。在没有三方模块的Python 3.6中将字符串转换为整数的最佳方法是什么?
如何将字符串编码为整数不是唯一的方法...有很多方法!这是其中之一:
strg = 'user input'
i = int.from_bytes(strg.encode('utf-8'), byteorder='big')
Run Code Online (Sandbox Code Playgroud)
那么在另一个方向上的转换是:
s = int.to_bytes(i, length=len(strg), byteorder='big').decode('utf-8')
Run Code Online (Sandbox Code Playgroud)
是的,您需要先知道结果字符串的长度,然后再转换回去。如果length太大,该字符串将从chr(0)左侧(带有byteorder='big')填充;如果length太小,int.to_bytes将引发一个OverflowError: int too big to convert。
| 归档时间: |
|
| 查看次数: |
913 次 |
| 最近记录: |