 |
|
|  |
Make MySQL pass - php·Î ±¸ÇöÇÑ MySQLÀÇ passwordÇÔ¼ö |
|
|
 |
14³â Àü |
PHP·Î ±¸ÇöÇÑ MySQLÀÇ password() ÇÔ¼ö ÀÔ´Ï´Ù.
<?
// ¹®ÀÚ¿À» mysql passwordÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© ¾ÏÈ£È ÇÑ´Ù.
if (!function_exists("get_password_str"))
{
function get_password_str($pass)
{
// mysql 4.1.0 ºÎÅÍ passowrd ÇÔ¼öÀÇ °ªÀÌ ¹«ÀÛÀ§·Î º¯°æµÇ¾î
// ±âÁ¸ password ÇÔ¼ö¿Í µ¿ÀÏÇÑ ¾Ë°í¸®ÁòÀÇ ÄÚµå·Î ¹Ù²î¾ú´Ù.
$nr = 1345345333;
$add = 7;
$nr2 = 0x12345671;
$size = strlen($pass);
for($i=0;$i<$size;$i++)
{
if($pass[$i] == ' ' || $pass[$i] == '\t') continue; // skipp space in password
$tmp = ord($pass[$i]);
$nr ^= ((($nr & 63)+$add)*$tmp) + ($nr << 8);
$nr2 += ($nr2 << 8) ^ $nr;
$add += $tmp;
}
$result1=$nr & ((1 << 31) -1); // Don't use sign bit (str2int)
$result2=$nr2 & ((1 << 31) -1);
$result = sprintf("%08x%08x",$result1,$result2);
return $result;
global $dbcon;
// mysql 4.1 ºÎÅÍ password ÇÔ¼ö°¡ old_password ·Î¹Ù²î¾ú´Ù.
$rs = query("SELECT old_password('$pass')",$dbcon);
$tmp=mysql_fetch_row ($rs);
mysql_free_result($rs);
return $tmp[0];
}
}
?>
»ç¿ë¹ý
<?
$pass = "000";
$mysql_passwd = get_password_str($pass);
echo "000 = 77eecc750f0e0c90 = ". $mysql_passwd ."<br>";
?>
°ü·Ã»çÀÌÆ®
http://libphp.com/main/data/view.php?no=18
http://rgboard.com/rgboard/view.php?&bbs_id=bug&doc_num=226
|
|
̵̧ : 262 |
̵̧
¸ñ·Ï
|
|
|  |
|