>>> m = 3403
>>> 31 % m
31
>>> 031 % m
25
我在终端测试RSA时使用python。我不知道为什么最后一行给出了它的结果。有什么想法吗?
答案 0 :(得分:8)
这不是header
运算符的问题。您不小心使用了Python整数文字功能。
您通过在%
前面添加数字来创建八进制号码:
0
那是>>> 31
31
>>> 031
25
,而不是3 * 8 + 1
。
在Python 3中,您不再能以这种方式创建八进制数字,只能使用3 * 10 + 1
前缀。