How to generate a random, unique, alphanumeric string in PHP

There are many ways to generate a random, unique, alphanumeric string in PHP which are given below:

  • Using str_shuffle() Function: The str_shuffle() function is an inbuilt function in PHP and is used to randomly shuffle all the characters of a string passed to the function as a parameter. When a number is passed, it treats the number as the string and shuffles it. This function does not make any change in the original string or the number passed to it as a parameter. Instead, it returns a new string which is one of the possible permutations of the string passed to it in the parameter.

    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    <?php
      
    // This function will return a random
    // string of specified length
    function random_strings($length_of_string)
    {
      
        // String of all alphanumeric character
        $str_result = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
      
        // Shufle the $str_result and returns substring
        // of specified length
        return substr(str_shuffle($str_result), 
                           0, $length_of_string);
    }
      
    // This function will generate
    // Random string of length 10
    echo random_strings(10);
      
    echo "\n";
      
    // This function will generate
    // Random string of length 8
    echo random_strings(8);
      
    ?>

    chevron_right

    
    

    Output:



    hnQVgxd4FE
    6EsbCc53
    
  • Using md5() Function: The md5() function is used to calculate the MD5 hash of a string. Pass timestamp as a argument and md5 function will convert them into 32 bit characters

    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    <?php
      
    // This function will return a random
    // string of specified length
    function random_strings($length_of_string) {
          
        // md5 the timestamps and returns substring
        // of specified length
        return substr(md5(time()), 0, $length_of_string);
    }
      
    // This function will generate 
    // Random string of length 10
    echo random_strings(10);
      
    echo "\n";
      
    // This function will generate 
    // Random string of length 8
    echo random_strings(8);
      
    ?>

    chevron_right

    
    

    Output:

    12945f0845
    12945f08
    
  • Using sha1() Function: This function calculates the sha-1 hash of a string. Pass timestamps as a argument and sha1() function will convert them into sha1- hash.

    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    <?php
      
      // This function will return 
      // A random string of specified length
      function random_strings($length_of_string) {
            
         
        // sha1 the timstamps and returns substring
        // of specified length
        return substr(sha1(time()), 0, $length_of_string);
    }
      
    // This function will generate 
    // Random string of length 10
    echo  random_strings(10);
      
    echo "\n";
      
    // This function will generate 
    // Random string of length 8
    echo  random_strings(8);
      
    ?>

    chevron_right

    
    

    Output:

    643f60c52d
    643f60c5
    
  • Using randon_bytes() Function: This function generates cryptographically secure pseudo-random bytes. It returns a string containing the requested number of cryptographically secure random bytes. Use binehex () function to convert bytes into hexadecimal format.

    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    <?php
      
    // This function will return
    // A random string of specified length
    function random_strings($length_of_string) {
      
        // random_bytes returns number of bytes
        // bin2hex converts them into hexadecimal format
        return substr(bin2hex(random_bytes($length_of_string)), 
                                          0, $length_of_string);
    }
      
    // This function will generate
    // Random string of length 10
    echo random_strings(10);
      
    echo "\n";
      
    // This function will generate
    // Random string of length 8
    echo random_strings(8);
      
    ?>

    chevron_right

    
    

    Output:

    64713970f3
    67b575a3
    


My Personal Notes arrow_drop_up

All powers are within you You can do anything and everything Believe in that

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.