Simple PHP function to generate a random string based on Alpha, Numeric, Nozero, MD5 and SHA1 type

Here's a simple function to generate a random string based on Alpha, Numeric, Nozero, MD5 and SHA1 types.


<?php
function random ($type 'sha1'$len 20)
{
        if (
phpversion() >= 4.2mt_srand();
        else
            
mt_srand(hexdec(substr(md5(microtime()), - $len)) & 0x7fffffff);

    switch (
$type) {
        case 
'basic':
            return 
mt_rand();
            break;
        case 
'alpha':
        case 
'numeric':
        case 
'nozero':
            switch (
$type) {
                case 
'alpha':
                    
$param '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
                    break;
                case 
'numeric':
                    
$param '0123456789';
                    break;
                case 
'nozero':
                    
$param '123456789';
                    break;
            }
            
$str '';
            for (
$i 0$i $len$i ++) {
                
$str .= substr($parammt_rand(0strlen($param) - 1), 1);
            }
            return 
$str;
            break;
        case 
'md5':
            return 
md5(uniqid(mt_rand(), TRUE));
            break;
        case 
'sha1':
            return 
sha1(uniqid(mt_rand(), TRUE));
            break;
    }
}

//Available options are:
//basic
//alpha
//numeric
//nozero
//md5
//sha1

//Example:

echo random(); 
//51d8b448ad289a8b2ff50219ddd8e67936f4a555

echo random('numeric''80'); 
//13969129691829473350905578362711065674284852774190392980483833740698116793831161

?>

Example:
random('numeric', '80');

Available options are:

  • basic
  • alpha
  • numeric
  • nozero
  • md5
  • sha1

Share this
Anonymous's picture

Thank you! ) Good luck! :)

Thank you! ) Good luck! :)