在使用Swift 3在Linux中生成随机字符串时,我遇到了两个问题。
arc4random_uniform在Linux中仅在BSD上不可用。因此,我能够通过使用随机()函数而逃脱惩罚。当我生成一个可变大小的随机数时,这种方法起了作用(参见下面的代码)
函数generateRandomNumber() -> Int { var place =1 var finalNumber = 0;#if os(Linux) for _ in 0..<5 { place *= 10 let randomNumber =Int(随机()% 10) +1 finalNumber += rando
考虑下面的lua代码片段:
local time = os.time()
for _= 1, 10 do
time = time + 1
print('Seeding with ' .. time)
math.randomseed(time)
for i = 1, 5 do
print('\t' .. math.random(100))
end
end
在Linux机器上,不出所料,结果是随机数。但似乎至少在Mac上,更改种子后的第一个随机数总是相同的!
我猜这与Lua依赖于C rand()函数来生成随机数
当我用ip tuntap add mode tap或tunctl命令在Linux中创建一个tunctl接口时,它似乎得到了一个随机的MAC地址。例如:
root@fw-test:~# tunctl
Set 'tap5' persistent and owned by uid 0
root@fw-test:~# ip link show dev tap5
11: tap5: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 500
link/ether 76:df:7