在 python 中创建仅包含 "A's" 和“2”的随机字符串

Creating a random string with only "A's" and "2's" in python

我想创建仅包含“A”和“2”的随机 16 字节长字符串来解密我的 AES 加密密文。如何使用 python 实现此目的?

使用cryptographically-secure随机性

from random import SystemRandom

sr = SystemRandom()
l = (b"A", b"2")
result = b"".join(l[sr.randrange(0, 2)] for i in range(16))

print(result)

对于建模或模拟(或大多数用例),您可以只使用 randrange() 而无需 SystemRandom

示例输出

b'2A22AA2222AAA222'