This is my super hash generator. It generates a 64-character totally random string using the entire US alphabet (capital and lowercase), plus the integers 0-9. It also generates a 32-character salt based of the same criteria. It then hashes the living shit out of the 64-character string, and then hashes the salt, after that, I concatenated the hash and salt and then encoded the result in base64.
Secure? I think so.
Secure? I think so.
PHP:
<?php
/*
This script is copyright Dustin A.K.A. Skare(tm) 2011
*/
$len = 64;
$base='ABCDEFGHKLMNOPQRSTWXYZabcdefghjkmnpqrstwxyz123456789';
$max=strlen($base)-1;
$ranstr='';
mt_srand((double)microtime()*1000000);
while (strlen($ranstr)<$len+1)
$ranstr.=$base{mt_rand(0,$max)};
$len = 32;
$base='ABCDEFGHKLMNOPQRSTWXYZabcdefghjkmnpqrstwxyz123456789';
$max=strlen($base)-1;
$ranstr2='';
mt_srand((double)microtime()*1000000);
while (strlen($ranstr2)<$len+1)
$ranstr2.=$base{mt_rand(0,$max)};
$salt = hash('whirlpool', $ranstr2);
$hashed = hash('adler32', hash('whirlpool', hash('ripemd256', sha1(base64_encode(crypt(md5(hash('sha512', $ranstr))))))));
$suphash = base64_encode($hashed . $salt);
echo $suphash;
?>