我希望找到一种很好的方法来生成一个32位十六进制序列,该序列是随机的,并且从类似于10 * 78这样的大数中获得其随机性。
对于Python代码,我也找到了以下内容:
ran = random.randrange(10**80)
myhex = "%030x" % ran
这会生成一个64位的十六进制字符串,但是有时结果只有63或者61个字符,我不确定为什么?我需要它每次都能返回确切的64个字符。
我需要帮助调整上面的代码,使其始终只返回64个字符。我对"%030x"的工作原理不太了解。
我还尝试过生成更长的十六进制字符串,并使用以下方法将其缩短:
myhex = myhex[:64]
但我仍然看到返回的字符串长度小于64个字符。
最终,我只需要从类似于10*78的大数字中得出确切的64位十六进制字符串,并每次返回它。
我采用的解决方案
import random
ran = random.randrange(10**80)
myhex = "%064x" % ran
#limit string to 64 characters
myhex = myhex[:64]
print(myhex)
看起来下面@ScottMillers的回答是我需要找到答案的关键,所以我选择他的答案作为解决方案,但我想在这里发布我的最终代码。
谢谢大家