diff options
author | Derek Allard <derek.allard@ellislab.com> | 2010-01-23 21:03:27 +0100 |
---|---|---|
committer | Derek Allard <derek.allard@ellislab.com> | 2010-01-23 21:03:27 +0100 |
commit | 472dd21a7bc60147afff7bf100bbb6c9f339d0fc (patch) | |
tree | 48c834abc062a6d4fd2b0b5cb5814f07a75e0247 /system/helpers | |
parent | 9e94ee10520a9d95eab1b1a0e9c9b27d39b7214a (diff) |
Added alpha, and sha1 string types to random_string() in the String Helper.
Diffstat (limited to 'system/helpers')
-rw-r--r-- | system/helpers/string_helper.php | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/system/helpers/string_helper.php b/system/helpers/string_helper.php index 67cbd0eb6..4767f0b5f 100644 --- a/system/helpers/string_helper.php +++ b/system/helpers/string_helper.php @@ -186,22 +186,27 @@ if ( ! function_exists('reduce_multiples')) * Useful for generating passwords or hashes. * * @access public - * @param string type of random string. Options: alunum, numeric, nozero, unique + * @param string type of random string. basic, alpha, alunum, numeric, nozero, unique, md5, encrypt and sha1 * @param integer number of characters * @return string - */ + */ if ( ! function_exists('random_string')) -{ +{ function random_string($type = 'alnum', $len = 8) { switch($type) { + case 'basic' : return mt_rand(); + break; case 'alnum' : case 'numeric' : case 'nozero' : + case 'alpha' : switch ($type) { + case 'alpha' : $pool = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; + break; case 'alnum' : $pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; break; case 'numeric' : $pool = '0123456789'; @@ -217,12 +222,22 @@ if ( ! function_exists('random_string')) } return $str; break; - case 'unique' : return md5(uniqid(mt_rand())); + case 'unique' : + case 'md5' : + + return md5(uniqid(mt_rand())); + break; + case 'encrypt' : + case 'sha1' : + + $CI =& get_instance(); + $CI->load->helper('security'); + + return do_hash(uniqid(mt_rand(), TRUE), 'sha1'); break; } } } - // ------------------------------------------------------------------------ /** |