note 69782 added to ref.mcrypt
| From: | duerra_NOT_THIS_ at pushitlive dot net | Date: | Wed, 20 Sep 2006 19:56:00 +0000 |
| Subject: | note 69782 added to ref.mcrypt | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-117360@lists.php.net to get a copy of this message | ||
For those of you that need to use PKCS#5 padding, the mcrypt API's for PHP do not support it.
However, you can DIY using the following:
<?
function encrypt_something($input)
{
$size = mcrypt_get_block_size('des', 'ecb');
$input = pkcs5_pad($input, $size);
$key = 'YOUR SECRET KEY HERE';
$td = mcrypt_module_open('des', '', 'ecb', '');
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$data = mcrypt_generic($td, $input);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
$data = base64_encode($data);
return $data;
}
function pkcs5_pad ($text, $blocksize)
{
$pad = $blocksize - (strlen($text) % $blocksize);
return $text . str_repeat(chr($pad), $pad);
}
function pkcs5_unpad($text)
{
$pad = ord($text{strlen($text)-1});
if ($pad > strlen($text)) return false;
if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) return false;
return substr($text, 0, -1 * $pad);
}
?>
----
Server IP: 64.71.164.2
Probable Submitter: 216.160.15.178 (proxied: 10.21.0.236)
----
Manual Page -- http://www.php.net/manual/en/ref.mcrypt.php
Edit -- https://master.php.net/note/edit/69782
Del: integrated -- https://master.php.net/note/delete/69782/integrated
Del: useless -- https://master.php.net/note/delete/69782/useless
Del: bad code -- https://master.php.net/note/delete/69782/bad+code
Del: spam -- https://master.php.net/note/delete/69782/spam
Del: non-english -- https://master.php.net/note/delete/69782/non-english
Del: in docs -- https://master.php.net/note/delete/69782/in+docs
Del: other reasons-- https://master.php.net/note/delete/69782
Reject -- https://master.php.net/note/reject/69782
Search -- https://master.php.net/manage/user-notes.php