在面試的時候我們會遇到寫乙個批量建立使用者,並且隨機生成不重複密碼的指令碼,
建立使用者就用迴圈就好了,但是建立隨機數來做密碼的話,就有很多方法了,比如
我們建立隨機字元+隨機數
可以用mktemp+radom
mktemp建立的乙個暫存檔案
radom是建立乙個隨機數
利用mktmp 建立乙個檔案,然後提取檔名再加上random的數字就可以組成乙個密碼了
如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@master tmp]
# mktemp /tmp/******
/tmp/bw2niv
[root@master tmp]
# mktemp /tmp/******
/tmp/tilgeb
[root@master tmp]
# mktemp /tmp/******
/tmp/zknsns
[root@master tmp]
# mktemp /tmp/******
/tmp/cih4n7
[root@master tmp]
# echo $((random%500+100))
315
[root@master tmp]
# echo $((random%500+100))
110
[root@master tmp]
# echo $((random%500+100))
333
當然也有其他的方法,比如:
1
2
3
4
5
6
[root@master tmp]
# date +%s%n | md5sum | head -c 10
68b9a5a4dc
[root@master tmp]
# date +%s%n | md5sum | head -c 10
f238c9d1ee
[root@master tmp]
# date +%s%n | md5sum | head -c 10
b367c656ab
1
2
3
4
5
6
b367c656ab[root@master tmp]
# cat /proc/sys/kernel/random/uuid|awk -f'-' ''
e10b67d7d582
[root@master tmp]
# cat /proc/sys/kernel/random/uuid|awk -f'-' ''
da8753879fd4
[root@master tmp]
# cat /proc/sys/kernel/random/uuid|awk -f'-' ''
b29be7c20191
這樣的方法網上還有很多,可以自己去查詢,這裡就不多說了
linux產生隨機數
函式rand 是真正的隨機數生成器,而srand 會設定供rand 使用的隨機數種子。函式rand 會返回乙個處於0和你所指定的數值 缺 省為1 之間的分數。如果你在第一次呼叫rand 之前沒有呼叫srand 那麼系統會為你自動呼叫srand 而使用同種子相同的數呼叫 srand 會導致相同的隨機數...
產生隨機數
先說明一下rand,這個函式用來產生偽隨機數。比如,產生1000的兩個隨機數,產生的兩個一般上是不同的,但如果要產生80個100以內的隨機數,僅用rand函式就不夠。因為產生80個100以內的隨機數,至少有兩個數相等的概率太大了 srand函式,並不能使產生的隨機數完全不同。你可以執行以下這串 in...
隨機數產生
c c 中取隨機數 在計算機中並沒有乙個真正的隨機數發生器,但是可以做到使產生的數字重複率很低,這樣看起來好象是真正的隨機數,實現這一功能的程式叫偽隨機數發生器。有關如何產生隨機數的理論有許多,如果要詳細地討論,需要厚厚的一本書的篇幅。不管用什麼方法實現隨機數發生器,都必須給它提供乙個名為 種子 的...