[ÄíÅ° ¾ÏÈ£È] Function #2 (MD5 + Hex) |
|
|
 |
17³â Àü |
<?
function decrypt_md5($hex_buf, $key="password")
{
$len = strlen($hex_buf);
for ($i=0; $i<$len; $i+=2)
$buf .= chr(hexdec(substr($hex_buf, $i, 2)));
$key1 = pack("H*", md5($key));
while($buf)
{
$m = substr($buf, 0, 16);
$buf = substr($buf, 16);
$c = "";
for($i=0;$i<16;$i++)
{
$c .= $m{$i}^$key1{$i};
}
$ret_buf .= $m = $c;
$key1 = pack("H*",md5($key.$key1.$m));
}
return($ret_buf);
}
function encrypt_md5($buf, $key="password")
{
$key1 = pack("H*",md5($key));
while($buf)
{
$m = substr($buf, 0, 16);
$buf = substr($buf, 16);
$c = "";
for($i=0;$i<16;$i++)
{
$c .= $m{$i}^$key1{$i};
}
$ret_buf .= $c;
$key1 = pack("H*",md5($key.$key1.$m));
}
$len = strlen($ret_buf);
for($i=0; $i<$len; $i++)
$hex_data .= sprintf("%02x", ord(substr($ret_buf, $i, 1)));
return($hex_data);
}
$name = '±èÀç¿ø';
$enc_name = encrypt_md5($name);
$dec_name = decrypt_md5($enc_name);
echo "name = {$name}<br>\n";
echo "encode_name = {$enc_name}<br>\n";
echo "decode_name = {$dec_name}<br>\n";
?> |
|
̵̧ : 286 |
̵̧
¸ñ·Ï
|
|