summaryrefslogtreecommitdiffstats
path: root/system/helpers
diff options
context:
space:
mode:
authorDerek Allard <derek.allard@ellislab.com>2010-01-23 21:03:27 +0100
committerDerek Allard <derek.allard@ellislab.com>2010-01-23 21:03:27 +0100
commit472dd21a7bc60147afff7bf100bbb6c9f339d0fc (patch)
tree48c834abc062a6d4fd2b0b5cb5814f07a75e0247 /system/helpers
parent9e94ee10520a9d95eab1b1a0e9c9b27d39b7214a (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.php25
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;
}
}
}
-
// ------------------------------------------------------------------------
/**