diff options
author | Friendika <info@friendika.com> | 2011-08-10 21:06:35 -0700 |
---|---|---|
committer | Friendika <info@friendika.com> | 2011-08-10 21:06:35 -0700 |
commit | 684ebd2ed8a2b225860b59256bf81146b1867d6a (patch) | |
tree | 5730a0213ccfd7bb19806d22222a955ff1d650ec /include/text.php | |
parent | 06408664db04cd1cac255d21e7bab54e6ba0c047 (diff) | |
download | volse-hubzilla-684ebd2ed8a2b225860b59256bf81146b1867d6a.tar.gz volse-hubzilla-684ebd2ed8a2b225860b59256bf81146b1867d6a.tar.bz2 volse-hubzilla-684ebd2ed8a2b225860b59256bf81146b1867d6a.zip |
enhance random_string, block public email replies
Diffstat (limited to 'include/text.php')
-rw-r--r-- | include/text.php | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/include/text.php b/include/text.php index 0641689d5..aeb20bb0f 100644 --- a/include/text.php +++ b/include/text.php @@ -19,11 +19,18 @@ function replace_macros($s,$r) { }} -// random hex string, 64 chars max +// random string, there are 86 characters max in text mode, 128 for hex +// output is urlsafe + +define('RANDOM_STRING_HEX', 0x00 ); +define('RANDOM_STRING_TEXT', 0x01 ); if(! function_exists('random_string')) { -function random_string($size = 64) { - return(substr(hash('sha256',uniqid(rand(),true)),0,$size)); +function random_string($size = 64,$type = RANDOM_STRING_HEX) { + // generate a bit of entropy and run it through the whirlpool + $s = hash('whirlpool', (string) rand() . uniqid(rand(),true) . (string) rand(),(($type == RANDOM_STRING_TEXT) ? true : false)); + $s = (($type == RANDOM_STRING_TEXT) ? str_replace("\n","",base64url_encode($s,true)) : $s); + return(substr($s,0,$size)); }} /** |