GNU/Linux >> Znalost Linux >  >> Linux

Generování náhodných UUID v Linuxu

Uniká mi něco? Nemůžeš:

cat /proc/sys/kernel/random/uuid

Děkujeme za všechny vaše komentáře!

Prošel jsem každou z nich a zde je to, co nejlépe vyhovovalo mému požadavku:

Potřeboval jsem jen obyčejné UUID založené na čase, které byly vygenerovány z náhodných čísel jednou pro každého uživatele, který si aplikaci nainstaloval. UUID verze 4, jak je specifikováno v RFC 4122, to bylo přesně ono. Prošel jsem navrhovaným algoritmem a přišel s docela jednoduchým řešením, které by fungovalo v Linuxu i ve Windows (možná je příliš zjednodušené, ale uspokojuje potřebu!):

srand(time(NULL));

sprintf(strUuid, "%x%x-%x-%x-%x-%x%x%x", 
    rand(), rand(),                 // Generates a 64-bit Hex number
    rand(),                         // Generates a 32-bit Hex number
    ((rand() & 0x0fff) | 0x4000),   // Generates a 32-bit Hex number of the form 4xxx (4 indicates the UUID version)
    rand() % 0x3fff + 0x8000,       // Generates a 32-bit Hex number in the range [0x8000, 0xbfff]
    rand(), rand(), rand());        // Generates a 96-bit Hex number

Linux
  1. 8 způsobů, jak vygenerovat náhodné heslo v Linuxu

  2. Jak vytvořím 1GB náhodný soubor v Linuxu?

  3. Přidání náhodného zpoždění pro příkaz Linux

  1. Zahrajte si zábavnou matematickou hru s příkazy Linuxu

  2. Jak generovat/šifrovat/dešifrovat náhodná hesla v Linuxu

  3. 10 způsobů, jak vygenerovat náhodné heslo v Linuxu

  1. Generování souboru Kickstart na Redhat Linuxu

  2. Některé náhodné jednořádkové příkazy Linuxu [část 1]

  3. Jak vygenerovat náhodné heslo v linuxu pomocí /dev/random