Cara membuat id unik di php

Anda dapat menggunakan UUID (Pengidentifikasi Unik Universal), dapat digunakan untuk tujuan apa pun, mulai dari string otentikasi pengguna hingga id transaksi pembayaran

UUID adalah angka 16-oktet (128-bit). Dalam bentuk kanonisnya, UUID diwakili oleh 32 digit heksadesimal, ditampilkan dalam lima grup yang dipisahkan oleh tanda hubung, dalam bentuk 8-4-4-4-12 dengan total 36 karakter (32 karakter alfanumerik dan empat tanda hubung)

function generate_uuid() {
    return sprintf( '%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
        mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ),
        mt_rand( 0, 0xffff ),
        mt_rand( 0, 0x0C2f ) | 0x4000,
        mt_rand( 0, 0x3fff ) | 0x8000,
        mt_rand( 0, 0x2Aff ), mt_rand( 0, 0xffD3 ), mt_rand( 0, 0xff4B )
    );

}

//memanggil fungsi

$transationID = generate_uuid();
_

beberapa contoh output akan seperti

E302D66D-87E3-4450-8CB6-17531895BF14
22D288BC-7289-442B-BEEA-286777D559F2
51B4DE29-3B71-4FD2-9E6C-071703E1FF31
3777C8C6-9FF5-4C78-AAA2-08A47F555E81
54B91C72-2CF4-4501-A6E9-02A60DCBAE4C
60F75C7C-1AE3-417B-82C8-14D456542CD7
8DE0168D-01D3-4502-9E59-10D665CEBCB2

berharap itu membantu seseorang di masa depan. )

Untuk membuat id unik menggunakan PHP, Anda dapat menggunakan fungsi bawaan uniqid() yang menghasilkan id unik berdasarkan waktu saat ini dalam mikro detik. Tapi itu mungkin tidak menjamin untuk selalu unik. Anda dapat membuatnya lebih unik menggunakan fungsi bin2hex() atau kombinasi dari itu

Anda dapat menggunakan metode bin2hex() yang berguna untuk menghasilkan id unik. Kami juga menggunakan metode random_bytes(15) untuk menghasilkan byte acak dan meneruskannya ke bin2hex untuk menghasilkan id unik

Di php, ada banyak cara untuk menghasilkan id alfanumerik unik. Pertama-tama, kita akan mengerti mengapa kita membutuhkan id alfanumerik unik terlebih dahulu

Dalam aplikasi, biasanya kami menggunakan id bilangan bulat unik yang umumnya dihasilkan oleh basis data itu sendiri ~ Penambahan otomatis, bilangan bulat unik. Namun terkadang kita memerlukan string alfanumerik unik sebagai id, bukan bilangan bulat sederhana

Beberapa Alasan

  • ID unik diperlukan jika Anda memiliki arsitektur aplikasi multi-server i. e - Database Anda disimpan di beberapa server
  • Jika Anda ingin menggabungkan berbagai cabang data tanpa bentrok
  • ID unik sangat membantu dan harus jika Anda ingin mencegah penemuan urutan data dalam aplikasi atau titik akhir API

Hasilkan String Alfanumerik Unik menggunakan fungsi uniqid () di PHP

Di PHP, ada fungsi yang sangat membantu uniqid() yang menghasilkan string alfanumerik unik untuk Anda. Fungsi memiliki dua parameter ~ meskipun keduanya opsional -

1) $prefix - Anda dapat mengawali id ​​yang dihasilkan dengan string apa pun 2) $more_entropy - Secara default, disetel ke FALSE tetapi jika disetel ke TRUE, ini akan menambah entropi tambahan ~ pada dasarnya artinya akan meningkatkan keunikan hasil yang dikembalikan

Contoh

Seperti yang Anda lihat di atas, kita dapat menggunakan fungsi uniqid() dengan berbagai cara untuk menghasilkan id unik

Hasilkan String Alfanumerik Unik menggunakan fungsi random_bytes() di PHP

Di PHP7. x, ada fungsi lain yang andal dan lebih aman untuk menghasilkan string alfanumerik acak - random_bytes(). Ini hanya membutuhkan satu parameter - panjang, dan menghasilkan byte pseudo-acak yang aman secara kriptografis. Selanjutnya, meneruskan keluarannya ke fungsi lain bin2hex(), akan memberi Anda string acak yang unik

Contoh

Jadi, dengan menggunakan salah satu metode di atas, Anda dapat membuat string acak unik dan menggunakannya sebagai pengganti bilangan bulat dasar dan dengan demikian mengamankan aplikasi Anda. Semoga ini membantu Anda

PHP. fungsi uniqid()

Meningkatkan Artikel

Simpan Artikel

Seperti Artikel

  • Terakhir Diperbarui. 29 Agustus 2021

  • Membaca
  • Membahas
  • Kursus
  • Praktik
  • Video
  • Meningkatkan Artikel

    Simpan Artikel

    Fungsi uniqid() dalam PHP adalah fungsi bawaan yang digunakan untuk menghasilkan ID unik berdasarkan waktu saat ini dalam mikrodetik (waktu mikro).  
    ID yang dihasilkan dari fungsi uniqid() tidak optimal karena didasarkan pada waktu sistem dan tidak diamankan secara kriptografis. Jadi seharusnya tidak untuk tujuan kriptografi
    Fungsi uniqid() menerima awalan dan more_entropy sebagai parameter dan mengembalikan pengidentifikasi unik berbasis stempel waktu sebagai string
     

    Sintaksis.   

     uniqid($prefix, $more_entropy) 

    Parameter yang Digunakan. Fungsi uiqid() di PHP menerima dua parameter.  

    1. $awalan. Ini adalah parameter opsional yang menentukan awalan ke id unik. Itu harus berupa tali
    2. $lebih_entropi. Ini adalah parameter opsional yang menentukan lebih banyak entropi di akhir nilai pengembalian yang membuat id lebih unik. Nilai defaultnya adalah FALSE, yang mengembalikan string sepanjang 13 karakter sedangkan bila diatur ke TRUE, string yang dikembalikan sepanjang 23 karakter

    Nilai Pengembalian. Ini mengembalikan pengenal unik berbasis cap waktu sebagai string
    Kesalahan Dan Pengecualian.  

    1. Fungsi uniqid() mencoba membuat pengidentifikasi unik, tetapi tidak menjamin 100% keunikan nilai kembalian
    2. Karena sebagian besar sistem menyesuaikan jam sistem dengan NTP atau sejenisnya, waktu sistem terus berubah. Oleh karena itu, ada kemungkinan bahwa fungsi ini tidak mengembalikan ID unik untuk proses/utas

    Program di bawah ini mengilustrasikan fungsi uniqid()
    Program 1.  

    php




    <?php

    // generating unique id

    echo uniqid();

    ?>

    Keluaran.   

    3b2c662647f18
    _

    Program 2.  

    php




    <?php

    3b2c662647f18
    _0

    3b2c662647f18
    1
    3b2c662647f18
    2
    3b2c662647f18
    3
    3b2c662647f18
    4

     

    echo

    3b2c662647f18
    1
    3b2c662647f18
    7

    ?>

    Keluaran.   

    gfg5b2b451823970

    Program 3.  

    php




    <?php

    3b2c662647f18
    _0

    gfg5b2b451823970
    1

    3b2c662647f18
    1
    3b2c662647f18
    2
    3b2c662647f18
    3
    gfg5b2b451823970
    5

     

    echo

    3b2c662647f18
    1
    3b2c662647f18
    7

    ?>

    Keluaran.   

    gfg5b2b4555ab6bd7.27884925

    Referensi. http. //php. net/manual/en/fungsi. unik. php


    Catatan Pribadi Saya arrow_drop_up

    Menyimpan

    Silakan Login untuk berkomentar.

    Bagaimana cara membuat ID unik?

    Buat nilai kunci UNIQUEID() secara manual . ID harus berupa nilai, bukan rumus, jadi salin (Ctrl+C) dan tempel sebagai teks biasa (Shift+Ctrl+V) hasil perhitungan rumus ke dalam sel . Hanya itu yang ada untuk itu. . That's all there is to it!

    Bagaimana cara menghasilkan ID pesanan acak di PHP?

    Hasilkan id acak unik menggunakan fungsi PHP rand() . $random_id = rand(9999999999999999,100000000000000); . use the rand() function with arguments. $random_id = rand(999999999999999,10000000000000); echo $random_id; Now, you can run and get a unique random id on every execution.

    Bagaimana cara menghasilkan kunci acak di PHP?

    Fungsi PHP array_rand() .
    Kembalikan array kunci acak. $a=array("merah","hijau","biru","kuning","coklat");.
    Mengembalikan kunci acak dari array. $a=array("a"=>"merah","b"=>"hijau","c"=>"biru","d"=>"kuning");.
    Mengembalikan array kunci string acak. $a=array("a"=>"merah","b"=>"hijau","c"=>"biru","d"=>"kuning");

    Manakah dari fungsi PHP berikut yang dapat digunakan untuk menghasilkan id unik?

    Manakah dari fungsi PHP berikut yang dapat digunakan untuk membuat id unik? . Fungsi uniqueid() digunakan untuk menghasilkan ID unik berdasarkan waktu mikro (waktu saat ini dalam mikrodetik).