GNU/Linux >> Belajar Linux >  >> Linux

Menghasilkan UUID acak di Linux

Apakah saya melewatkan sesuatu? Tidak bisakah kamu:

cat /proc/sys/kernel/random/uuid

Terima kasih atas semua komentar Anda!

Saya membahas masing-masing, dan inilah yang paling sesuai dengan kebutuhan saya:

Yang saya butuhkan hanyalah UUID berbasis waktu yang dihasilkan dari nomor acak satu kali untuk setiap pengguna yang menginstal aplikasi. UUID versi 4 sebagaimana ditentukan dalam RFC 4122 persis seperti itu. Saya mempelajari algoritme yang disarankan, dan menghasilkan solusi yang cukup sederhana yang akan berfungsi di Linux dan juga Windows (Mungkin terlalu sederhana, tetapi memenuhi kebutuhan!):

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. Mainkan game matematika yang menyenangkan dengan perintah Linux

  2. Membuat file Kickstart di Redhat Linux

  3. 10 cara untuk menghasilkan kata sandi acak di Linux

  1. Cara Membuat/Mengenkripsi/Mendekripsi Kata Sandi Acak di Linux

  2. Beberapa Perintah Linux One-liner Acak [Bagian 1]

  3. Cara membuat kata sandi acak di linux menggunakan /dev/random

  1. 8 cara untuk menghasilkan kata sandi acak di Linux

  2. Bagaimana cara membuat file acak 1GB di Linux?

  3. Buat nomor acak unik (UUID) di bash