Python 随机十六进制生成器
Python random hex generator
所以我希望在每次调用时生成一个随机的十六进制值
randhex = "\x" + str(random.choice("123456789ABCDEF")) + str(random.choice("123456789ABCDEF"))
到目前为止,我所想到的就是进行不同的 = 调用(例如 randhex1 = ^^、randhex2)等等,但那既乏味又低效,我不想这样做
ErrorClass = "\x" + str(random.choice("123456789ABCDEF")) + "\x" + str(random.choice("123456789ABCDEF")) + "\x" + str(random.choice("123456789ABCDEF")) + "\x" + str(random.choice("123456789ABCDEF"))
因为这看起来不太好,而且很难说出有多少。
我正在尝试将它分配给这个
ErrorClass = randhex1 + randhex2 + randhex3 + randhex4,
Flags = randhex5,
Flags2 = randhex6 + randhex7,
PIDHigh = randhex2 + randhex5,
理想情况下,我希望它们全部统一,或者像 ErrorClass = randhex*4 这样干净的东西,而不是必须分配不同的数字。但是,如果我这样做,它只是将代码复制为如下所示:
Input: ErrorClass = randhex + randhex + randhex + randhex
Output: \xFF\xFF\xFF\xFF
这显然是行不通的,因为它们都是一样的。任何帮助都会很棒。
创建一个函数,returns 随机生成的字符串。每次调用它都会给你一个新的值。
import random
def randhex():
return "\x" + str(random.choice("0123456789ABCDEF")) + str(random.choice("0123456789ABCDEF"))
ErrorClass = randhex() + randhex() + randhex() + randhex()
Flags = randhex()
Flags2 = randhex() + randhex()
PIDHigh = randhex() + randhex()
print(ErrorClass)
print(Flags)
print(Flags2)
print(PIDHigh)
示例结果:
\xBF\x2D\xA2\xC2
\x74
\x55\x34
\xB6\xF5
为了更加方便,向 randhex
添加一个 size
参数,这样您就不必在每次赋值时多次调用它:
import random
def randhex(size=1):
result = []
for i in range(size):
result.append("\x" + str(random.choice("0123456789ABCDEF")) + str(random.choice("0123456789ABCDEF")))
return "".join(result)
ErrorClass = randhex(4)
Flags = randhex()
Flags2 = randhex(2)
PIDHigh = randhex(2)
print(ErrorClass)
print(Flags)
print(Flags2)
print(PIDHigh)
所以我希望在每次调用时生成一个随机的十六进制值
randhex = "\x" + str(random.choice("123456789ABCDEF")) + str(random.choice("123456789ABCDEF"))
到目前为止,我所想到的就是进行不同的 = 调用(例如 randhex1 = ^^、randhex2)等等,但那既乏味又低效,我不想这样做
ErrorClass = "\x" + str(random.choice("123456789ABCDEF")) + "\x" + str(random.choice("123456789ABCDEF")) + "\x" + str(random.choice("123456789ABCDEF")) + "\x" + str(random.choice("123456789ABCDEF"))
因为这看起来不太好,而且很难说出有多少。
我正在尝试将它分配给这个
ErrorClass = randhex1 + randhex2 + randhex3 + randhex4,
Flags = randhex5,
Flags2 = randhex6 + randhex7,
PIDHigh = randhex2 + randhex5,
理想情况下,我希望它们全部统一,或者像 ErrorClass = randhex*4 这样干净的东西,而不是必须分配不同的数字。但是,如果我这样做,它只是将代码复制为如下所示:
Input: ErrorClass = randhex + randhex + randhex + randhex
Output: \xFF\xFF\xFF\xFF
这显然是行不通的,因为它们都是一样的。任何帮助都会很棒。
创建一个函数,returns 随机生成的字符串。每次调用它都会给你一个新的值。
import random
def randhex():
return "\x" + str(random.choice("0123456789ABCDEF")) + str(random.choice("0123456789ABCDEF"))
ErrorClass = randhex() + randhex() + randhex() + randhex()
Flags = randhex()
Flags2 = randhex() + randhex()
PIDHigh = randhex() + randhex()
print(ErrorClass)
print(Flags)
print(Flags2)
print(PIDHigh)
示例结果:
\xBF\x2D\xA2\xC2
\x74
\x55\x34
\xB6\xF5
为了更加方便,向 randhex
添加一个 size
参数,这样您就不必在每次赋值时多次调用它:
import random
def randhex(size=1):
result = []
for i in range(size):
result.append("\x" + str(random.choice("0123456789ABCDEF")) + str(random.choice("0123456789ABCDEF")))
return "".join(result)
ErrorClass = randhex(4)
Flags = randhex()
Flags2 = randhex(2)
PIDHigh = randhex(2)
print(ErrorClass)
print(Flags)
print(Flags2)
print(PIDHigh)