shell生成乙個隨機密碼

2022-08-22 10:33:09 字數 1418 閱讀 2565

linux作業系統的一大優點是對於同樣一件事情,你可以使用高達數百種方法來實現它。例如,你可以通過數十種方法來生成隨機密碼。本文將介紹生成隨機密碼的十種方法。

這些方法均收集於command-line fu,並且在我們自己的linux pc機上測試過。這十種方法的一些在安裝了cygwin的windows下也是可以執行的,特別是最後一種方法。

對於下面的任何一種方法,你可以通過簡單的修改來生成特定長度的密碼,或者只使用其輸出結果的前n位。希望你正在使用一些類似於lastpass的密碼管理器,這樣你就不用自己記住這些隨機生成的密碼了。

1. 這種方法使用sha演算法來加密日期,並輸出結果的前32個字元:

shell

1date+%s|sha256sum|base64|head-c32;echo

2. 這種方法使用內嵌的/dev/urandom,並過濾掉那些日常不怎麼使用的字元。這裡也只輸出結果的前32個字元:

shell

13. 這種方法使用openssl的隨機函式。如果你的系統也許沒有安裝openssl,你可以嘗試其它九種方法或自己安裝openssl。

shell

1openssl rand-base6432

4. 這種方法類似於之前的urandom,但它是反向工作的。bash的功能是非常強大的!

1tr-cd'[:alnum:]'

5. 這種方法使用string命令,它從乙個檔案中輸出可列印的字串:

shell

1strings/dev/urandom|grep-o'[[:alnum:]]'|head-n30|tr-d'\n';echo

6. 這是使用urandom的乙個更簡單的版本:

shell

17. 這種方法使用非常有用的dd命令:

shell

1ddif=/dev/urandom bs=1count=322>/dev/null|base64-w0|rev|cut-b2-|rev

8. 你甚至可以生成乙個只用左手便可以輸入的密碼:

shell

19. 如果每次都使用上述某種方法,那更好的辦法是將它儲存為函式。如果這樣做了,那麼在首次執行命令之後,你便可以在任何時間只使用randpw就可以生成隨機密碼。或許你可以把它儲存到你的~/.bashrc檔案裡面。

shell

1randpw();echo;}

10. 最後這種生成隨機密碼的方法是最簡單的。它同樣也可以在安裝了cygwin的windows下面執行。在mac os x下或許也可以執行。我敢肯定會有人抱怨這種方法生成的密碼沒有其它方法來的隨機。但實際上如果你使用它生成的全部字串作為密碼,那這個密碼就足夠隨機了。

shell

1date|md5sum

是的,這種方法也極其好記。

生成隨機密碼

編寫乙個函式,用於生成隨機密碼,入參為隨機密碼的長度,出參為生成的隨機密碼,要求生成的隨機密碼必須同時包含大寫字母小寫字母數字。生成隨機碼,引數為隨機碼長度,同時包含大小寫字母和數字 public string getrandomnum int length listlist new arrayli...

php生成隨機密碼

隨機密碼生成 post number 0 數字 0 不啟用 1 啟用 post lowercase 0 小寫字母 post uppercase 0 大寫字母 post punctuation 1 特殊符號 post repeat 0 字元 1重複 0不重複 post length 31 密碼長度 p...

PowerShell生成隨機密碼

需求是這樣的,給員工重置密碼,密碼要是隨機的,但是0和o i和i這些不要,防止誤殺。我用的方法是這樣的,這是c 中web的乙個方法,很給力。assembly add type assemblyname system.web global passwordrandom system.web.secur...