PHP: Membuat String Alfanumerik Acak

Kapan ini digunakan? Penggunaan fungsi random string alphanumeric digunakan saat tidak memungkinkannya penggunaan 10 digit angka untuk menamai banyak file maupun pada kasus lainnya.

Jadi, jika Anda memiliki banyak file yang terbuat secara otomatis maka Anda dapat menggunakan random string untuk mengantisipasi nama file duplikat, atau juga dapat digunakan untuk membuat random password dan lain sebagainya.

Di artikel ini saya akan menunjukan 3 cara untuk menghasilkan random string Alfanumerik dengan 3 fungsi dalam bahasa pemrograman PHP.

Cara Membuat Random String Alphanumeric di PHP

1. Menggunakan Fungsi str_shuffle()

<?php 

// Fungsi untuk me-return string acak
function random_strings($length_of_string) 
{ 

    // Karakter Alfanumerik
    $str_result = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; 

    // Shufle $str_result dan return substring  
    return substr(str_shuffle($str_result),  
                       0, $length_of_string); 
} 

// Untuk menghasilkan 6 digit string acak
echo random_strings(6); 

echo "n"; 

// Menghasilkan 8 digit string
echo random_strings(8); 

echo "n";

// Menghasilkan 10 string Alfanumerik acak
echo random_strings(10);

?>

Output:

cG5hyK
8HkjU7tL
nMJKt64Opv

Anda dapat menggunakan str_shuffle() untuk mengacak semua karakter dalam string alfanumerik. String alfanumerik ini akan terdiri dari semua karakter yang ingin Anda munculkan di string acak.

Setelah merandom angka dan huruf, semua karakter akan berada dalam urutan acak dan Anda dapat memilih substring dengan panjang tertentu dari string yang diacak untuk mendapatkan string alfanumerik random.

2. Menggunakan Fungsi md5()


<?php 

function random_strings($length_of_string) { 
    return substr(md5(time()), 0, $length_of_string); 
} 

// Menghasilkan string dengan panjang yang diinginkan  
echo random_strings(10); 

?>

Output:

12945f0845

Fungsi md5() yang tersedia di PHP dapat digunakan untuk menghitung hash md5 dari string yang diberikan.

Hash dari input yang diberikan dikembalikan sebagai angka heksadesimal 32 karakter. Ini berarti panjang maksimum hash yang dikembalikan adalah 32 karakter.

Kita bisa menggunakan fungsi substr() untuk mengekstrak bagian dari output sebagai string acak kita.

3. Menggunakan Fungsi random_bytes()


<?php

function random_string($length) {
    return substr(bin2hex(random_bytes($length)), 0, $length);
}

echo random_string(8);

?>

Output:

c92b5d72

Anda dapat menggunakan fungsi random_bytes() di PHP untuk menghasilkan byte acak yang aman secara kriptografis.

Fungsi bin2hex() di PHP untuk mengubah string biner yang dikembalikan menjadi nilai heksadesimal. Kemudian, kita mengekstrak $length pertama dari string heksadesimal menggunakan fungsi substr().

Mungkin masih ada beberapa teknik lain untuk menghasilkan random string alphanumeric di PHP, untuk sekarang itu saja dulu.