1. 程式人生 > >linux生成隨機串方法總結

linux生成隨機串方法總結

  1. date
    date +%s是獲取當前時間距離1970-01-01 00:00:00 UTC的時間差

    
    [[email protected] ~]$ date +%s
    1532874352
    
    [[email protected] ~]$ date +%s | sha256sum  | head -c 32; echo
    7811280b0dcdc3e790d0c6d2c1ab2375
    
  2. $RANDOM

    [[email protected] ~]$ echo $RANDOM
    32264
    
    [[email protected] ~]$ echo $RANDOM | sha256sum | head -c 32
    ; echo 1df8ddd6e3af142c9e4717508ad2e1d1
  3. awk中的rand()函式

    
    # rand函式生成[0, 1)之間的小數
    
    [[email protected] ~]$ echo '' | awk '{print(rand())}'
    0.237788
    
    [[email protected] ~]$ awk -f randomStr.awk
    os0jKlYkEjwE4q3nNJugFJ0cgNaSgDpP

    其中randomStr.awk內容如下:

    BEGIN {
        STR_LEN=32
        print(randomStr(STR_LEN))
    }
    
    
    # gen a number in [1, n]
    function randomInt(n) { return int(n *rand()) + 1; } # gen a letter in [a-zA-Z0-9] function randomLetter() { # substr(str, startIndex(從1開始算), 擷取長度) return substr("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", randomInt(62), 1); } # randomStr(LEN): return a random word with a length of LEN
    function randomStr(LEN) { str="" for(j = 1; j <= LEN; j++) { str = str""randomLetter() } return str }
  4. ifconfig

    
    # ifconfig每次輸出都不太一樣,這樣也可以模擬隨機
    
    
    # 其實ps -ef也可以:)
    
    [[email protected] ~]$ ifconfig | sha256sum | head -c 32; echo
    ae59751e48893cce075a612f1e03d9dc
    
    [[email protected] ~]$ ifconfig | sha256sum | head -c 32; echo
    e320af8593e44d6d97b015fed901cc8e
  5. 利用/proc/sys/kernel/random/uuid

    [[email protected] ~]$ cat /proc/sys/kernel/random/uuid | sha256sum | head -c 32; echo
    02b728b88dc810e5e2531fa4af7f70af
  6. 利用shuf命令

    
    # 引數解釋
    
    
    # -z: 輸出為一行(end lines with 0 byte, not newline)
    
    
    # -e: echo輸出(treat each ARG as an input line)
    
    
    # -r: 任意字元可重複多次(output lines can be repeated)
    
    [[email protected] ~]$ shuf -zer -n32  {A..Z} {a..z} {0..9}; echo
    1IGdfCqxYkJ8MAVAW7COdwuyoSWYHr0x

歡迎補充指正!

相關推薦

linux生成隨機方法總結

date date +%s是獲取當前時間距離1970-01-01 00:00:00 UTC的時間差 [[email protected] ~]$ date +%s 1532874352

linux生成隨機密碼的十種方法

tca 簡單的 strong post con 做了 dvb 密碼 == Linux操作系統的一大優點是對於同樣一件事情,你可以使用高達數百種方法來實現它。例如,你可以通過數十種方法來生成隨機密碼。本文將介紹生成隨機密碼的十種方法。 1. 使用SHA算法來加密日期,並輸出

linux生成隨機密碼字串的方法 base64格式

1、可以利用PHP生成 php artisan key:generate 生成一個base64格式的字串 2、利用openssl生成 openssl rand 32 -base64 生成一個32位base64的key lmZwFKHKKd6Hle6caPKUo

shell生成隨機或密碼的方法

主要是隨機生成密碼方法一:function generate_passwd() { local arr=( a b c d e f g h i g k l m n o p q r s t u v

javascript字符方法總結

大小寫 comm 其他 tolower 匹配 一行 ror 運算 轉換 一、單引號字符串內部可以使用雙引號,雙引號字符串內部也可以使用單引號 "hello ‘world‘" ‘welcome "to" js‘ 二、多行和轉義 如果要在單引號字符串的內部,使用單引號(或者

JavaScript進階之常用字符方法總結

com lastindex 作用 ng2 slice index bstr 屬性和方法 script 前面三篇文章簡單的把JavaScript基礎內容過了一遍,我們已經可以用JavaScript寫一些簡單的代碼了。 今天主要總結一下JavaScript中String對象中自

C#操作字符方法總結<轉>

字符串結束 訪問 pad 刪除 大寫 替換字符 replace 字符數 對齊 C#操作字符串方法總結 staticvoid Main(string[] args){ string s =""; //(1)字符訪問

C++生成隨機數的方法總結

oca cnblogs nbsp seconds wmi iostream 代碼 cin std 網上有很多使用C++生成隨機數的文章,其原理不再贅述,這裏貼出windows系統上生成各種隨機數的代碼,方便查用。 1 #include <iostream>

字符方法總結

tin style arch 一次 則表達式 表達式 var unicode ring1 var str="hello girl";// charAt() (返回指定位置的字符,index從0開始)console.log(str.charAt(1)); //e (返回

數組及字符方法總結

pos 總結 子字符串 操作 cat start join() 數組 取字符串 本題需要將數組a=[1,2,3]變成[1,2,3,4],需要改變原數組a。Array對象常用方法中:不改變原數組: 1、 concat()連接兩個或多個數組不改變原數組返回被連接數組的一個副本2

Linux查看日誌方法總結(1)

關鍵字 http grep 定時 abd cab 我們 做的 ext 註:日誌文件為:test.log 1.tail -f test.log 查看當前打印的日誌(平時就知道這方法!打印出的長度有限制。) 以下為網上搜集的: 2.先必須了解兩個最基本的命令: tai

linux 環境變數設定方法總結(PATH/LD_LIBRARY_PATH)【轉】

PATH和LD_LIBRARY_PATH本質都是變數,所謂變數的意思就是由別人賦值產生的,直覺往往會讓我們新增和減少這個變數本身的某些路徑,實際上這是不正確的。正確的做法是我們要去修改賦予這個變數數值的那些配置檔案,加一條路徑或者減一條。說到底變數只關乎顯示,不關乎其

Android--生成縮圖------方法總結

在Android中對大圖片進行縮放真的很不盡如人意,不知道是不是我的方法不對。下面我列出3種對圖片縮放的方法,並給出相應速度。請高人指教。 第一種是BitmapFactory和BitmapFactory.Options。 首先,BitmapFactory.Opti

linux下檔案加密方法總結

為了安全考慮,通常會對一些重要檔案進行加密備份或加密儲存,下面對linux下的檔案加密方法做一簡單總結: 方法一:gzexe加密 這種加密方式不是非常保險的方法,但是能夠滿足一般的加密用途,可以隱蔽指令碼中的密碼等資訊。 它是使用系統自帶的gzexe程式,它不但加密

JAVA生成UUID的方法總結

    前言        我們開發的時候,資料庫表總會有一個主鍵,以前我們可能會使用自增的數字作為主鍵。這樣做確實查詢的時候比較快,但是在做系統整合或者資料遷移的的時候就麻煩了。這是id就有可能重複了。那麼有什麼比較好的方法解決這一問題呢?於是jdk1.5出了UUID這個類

linux 環境變數設定方法總結

1. 顯示環境變數HOME   $ echo $HOME   /home/redbooks   2. 設定一個新的環境變數hello   $ export HELLO="Hello!"   $ echo $HELLO   Hello!   3. 使用env命令顯示所有的環境

Linux--shell指令碼執行方法總結

linux下新建一個print hello world的指令碼程式,如下所示: ~/boke---> vim hello.sh ~/boke---> cat hello.sh #!/b

linux環境變數設定方法總結(PATH/LD_LIBRARY_PATH)

PATH:  可執行程式的查詢路徑檢視當前環境變數:echo $PATH設定: 方法一:export PATH=PATH:/XXX 但是登出後就失效方法二:修改~/.bashrc或~/.bash_profile或系統級別的/etc/profile        1. 在其中

Android開發根據Json直接生成Java Bean方法總結

在開發過程中拿到從伺服器請求的json字串需要解析成Bean物件方便我們使用,自己寫bean又太麻煩 經過這麼長時間的Android開發,我收集了三種比較常用的通過json自動生成Bean物件的方法:

Linux生成隨機字串

cat /dev/urandom | sed 's/[^a-zA-Z0-9]//g' | strings -n C | head -n L其中C表示字串的字元數,L表示要生成多少行字元。 [[email protected] sqlite3]# cat /dev