PHP & Others

Mysql PASSWORD(), olo_password() PHP 함수

페이지 정보

본문

function mysqlPassword($pw) {

   //SELECT CONCAT('*', UPPER(SHA1(UNHEX(SHA1('$pw'))))); //sql 이용

    return '*'.strtoupper(sha1(sha1($pw, true)));    

}


function old_password($password) {

    if ($password == '')

        return '';

 

    $nr = 1345345333;

    $add = 7;

    $nr2 = 0x12345671;

    foreach(str_split($password) as $c) {

        if ($c == ' ' or $c == "\t")

            continue;

        $tmp = ord($c);

        $nr ^= ((($nr & 63) + $add) * $tmp) + (($nr << 8) & 0xFFFFFFFF);

        $nr2 += (($nr2 << 8) & 0xFFFFFFFF) ^ $nr;

        $add += $tmp;

    }

 

    if ($nr2 > PHP_INT_MAX)

        $nr2 += PHP_INT_MAX + 1;

 

    $bit = (1 << 31) -1;

 

    return sprintf("%08lx%08lx", $nr & $bit, $nr2 & $bit);

}

관련자료

등록된 댓글이 없습니다.
Today's proverb
아무리 친한 사이라도 둘 사이를 파괴하고 싶지 않으면, 그리고 오래 지속시키고 싶으면, 어느 정도의 예의는 필요한 법이다. (필립 체스터필드의 “내 아들아 너는 인생을 이렇게 살아라” 중에서)