【问题标题】:OverflowErro cannot fit 'int' into an index-sized integerOverflowErro 无法将“int”放入索引大小的整数中
【发布时间】:2019-08-23 19:59:36
【问题描述】:

我正在尝试将大小为 n 位的 int 转换为字节。这会返回一个溢出错误

尝试将 int 转换为字节以供 TCP 稍后使用

def diffie_hellman():
    global a,g,n
    a = random.randint(1,5000)
    g = random.getrandbits(4000)
    n = sympy.randprime(1, 100)
    #print(a,g,n)

def diffie_send(a,g,n):
    clientsocket.send(bytes(a))
    clientsocket.send(bytes(g))
    clientsocket.send(bytes(n))

我希望它只是转换为字节,但我得到的只是一个溢出错误。

【问题讨论】:

  • 在提示符下尝试bytes(5) 看看它的作用。 (tl;dr,bytes(a) 和其他 bytes 呼叫并没有按照您的想法进行)。

标签: python random sympy diffie-hellman


【解决方案1】:

我尝试了一些可能被某些人视为“hacky”的东西,但它对我有用,所以......我在转换为字节之前将 int 转换为字符串

g = random.getrandbits(4000)
val = str(g) + ' '

【讨论】:

    猜你喜欢
    • 2017-06-04
    • 2018-08-21
    • 2019-12-15
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-07
    • 2015-03-03
    相关资源
    最近更新 更多