我正在尝试使用增加的熵生成大量16字节的随机字符串。 通过增加熵我的意思是增加可能选择的随机字符的数量,每1000个生成的字符串。 我想将每个字符串存储在一个文件中,这样我就可以将每一行发送到openssl进行加密(这就是16byte的原因)。 那是我的代码。是吗?
file = f=open('/root/randomGenString.txt', 'w')
for y in xrange(0,256):
print "Range", y
for x in xrange(0,1000):
#print random.randint(0,y)
stringa=''.join(chr(random.randint(0,y)) for z in xrange(0,16))
file.write(stringa)
file.write("\n")
file.close()
答案 0 :(得分:3)
这几乎可以满足您的需求,但这并不是最佳方式。
首先,有关于
的事情file.write("\n")
您是否认为stringa
自然会包含换行符?因为用换行符分隔它是没有意义的。只需将其删除并在打开时使用file.read(16)
。
还有关于stringa
包含换行符的事情。对于在文本模式下打开的文件,\n
会自动转换为Windows上的\r\n
。它被称为通用换行符,它是一个非常有用的功能。但它会弄乱你的字节。所以你应该以二进制模式打开文件。
当您在此时,请在网络上查找with statement python
。