python-3.x - 从字符串生成用于加密的整数,反之亦然

我正在尝试用 python3 编写 RSA 代码。我需要将用户输入的字符串(包含任何字符,而不仅仅是数字)转换为整数,然后对其进行加密。在没有第 3 方模块的情况下,在 Python 3.6 中将字符串转换为整数的最佳方法是什么?

最佳答案

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

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

https://stackoverflow.com/questions/44504397/

相关文章:

code-analysis - TFS 2010:如何基于代码重复指标拒绝门禁签到?

.net - 除了 ILDASM/ILASM hacking 之外,是否可以修改程序集 list ?

magento - 通过一个简单的单一产品站点使用Magento

.net - SimpleWorkerRequest 如何将 MIME 类型与扩展关联?

wpf - WPF ControlTrigger IsMouseOver

directx - 如何为游戏关卡编辑器实现平移和旋转小部件

.net - 寻找一个免费的工具来可视化C#的对象关系

reverse-engineering - 反向工程定制数据文件

web-scraping - 刮谷歌代码搜索

sql - 从SQL Server 2008中的任意sql语句获取数据类型