Topic: SHA1 Session Encryption
author: Simon Holywell
created: 23-10-2005 07:22:54 AM
|
Nothing special but I prefer SHA1 to MD5 so I modified crypt.inc.php. Perhaps this encryption scheme could be added to up coming versions of ADODB?
adodb-encrypt-sha1.php:
if (!defined('ADODB_SESSION')) die();
include_once ADODB_SESSION . '/crypt.inc.php';
/**
*/
class ADODB_Encrypt_SHA1 {
/**
*/
function write($data, $key) {
$sha1crypt =& new SHA1Crypt();
return $sha1crypt->encrypt($data, $key);
}
/**
*/
function read($data, $key) {
$sha1crypt =& new SHA1Crypt();
return $sha1crypt->decrypt($data, $key);
}
}
return 1;
crypt.inc.php add:
class SHA1Crypt{
function keyED($txt,$encrypt_key)
{
$encrypt_key = sha1($encrypt_key);
$ctr=0;
$tmp = "";
for ($i=0;$i<strlen($txt);$i++){
if ($ctr==strlen($encrypt_key)) $ctr=0;
$tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
$ctr++;
}
return $tmp;
}
function Encrypt($txt,$key)
{
srand((double)microtime()*1000000);
$encrypt_key = sha1(rand(0,32000));
$ctr=0;
$tmp = "";
for ($i=0;$i<strlen($txt);$i++)
{
if ($ctr==strlen($encrypt_key)) $ctr=0;
$tmp.= substr($encrypt_key,$ctr,1) .
(substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
$ctr++;
}
return base64_encode($this->keyED($tmp,$key));
}
function Decrypt($txt,$key)
{
$txt = $this->keyED(base64_decode($txt),$key);
$tmp = "";
for ($i=0;$i<strlen($txt);$i++){
$sha1 = substr($txt,$i,1);
$i++;
$tmp.= (substr($txt,$i,1) ^ $sha1);
}
return $tmp;
}
function RandPass()
{
$randomPassword = "";
srand((double)microtime()*1000000);
for($i=0;$i<8;$i++)
{
$randnumber = rand(48,120);
while (($randnumber >= 58 && $randnumber <= 64) || ($randnumber >= 91 && $randnumber <= 96))
{
$randnumber = rand(48,120);
}
$randomPassword .= chr($randnumber);
}
return $randomPassword;
}
}
|
|
Topic: Re:SHA1 Session Encryption
author: iamsure
created: 23-10-2005 05:11:29 PM
|
Keep in mind that sha1 was only added in 4.3.0, while md5 is available in php3+.
That said, I agree - nice addition, just document the version requirements in the documentation. |
|
Topic: Re:SHA1 Session Encryption
author: Sebastiaan van Stijn
created: 26-10-2005 10:02:20 AM
|
I agree. Additions like this should be added, they won't harm and might come in handy. |
|
Topic: Re:SHA1 Session Encryption
author: Simon Holywell
created: 11-12-2005 06:45:07 PM
|
Looks like it got added, thanks.
Simon |
|
|