歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Unix下生成隨機復雜密碼的三種方法

Unix下生成隨機復雜密碼的三種方法

日期:2017/2/28 13:39:06   编辑:Linux教程

最近有人問我怎麼樣在對Unix系統中的密碼做設置,當時就隨口說直接在鍵盤上隨便按一通就可以了,當然如果是業務需求不是非常嚴格的情況下當然這樣也行,但是如果要求是需要一個非常長的、限定長度的隨機數密碼就有點不行了,那麼我們就可以借助系統中常用的工具實現隨機數密碼的設置,當然實際生產的方法很多,在這裡就簡單的說一下常用的幾種方法:

一、使用有輸出指令通過計算 md5 值,然後截取其中的一部分當做隨機密碼,這種方法使用的指令可以使用date、uptime等等有數字英文輸出指令,所以直接echo "passwd123456"單詞也行,缺點就是生成密碼全部是小寫+數字的安全性一般,方法如下:

[root@linuxidc ~]# date | md5sum | cut -b 1-10
ac404a8128
#這裡以date指令為例,截取1~10位生成的10位隨機數密碼

二、使用mysql生成41位的十六進制密碼,這個是通過mysql的哈希算法算出來,這個一般用於mysql的用戶密碼設置時使用,缺點是這種方法要依賴於mysql數據庫,方法如下:

mysql> select password('password');
+-------------------------------------------+
| password('password') |
+-------------------------------------------+
| *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+-------------------------------------------+
1 row in set (0.00 sec)

三、使用oenssl生成的隨機數再用base64編碼加密,這種方法比較常用,因為一般生成的密碼有大小寫英文、數字、特殊符號,這個方法需要系統中有安裝openssl,一般使用yum就可以安裝了,方法如下:

[root@linuxidc ~]# openssl rand -base64 10
gIfIuLvIeZk+tw==
#生成10位的隨機數密碼

當然在實際生產環境中可以根據不同的情況做選擇,當然如果需要強密碼一般推薦使用第三種方法

Copyright © Linux教程網 All Rights Reserved