본문 바로가기
잡동/MYSQL

FUNCTION XXX.old_password does not exist

by 죠부니 2023. 12. 13.
반응형

https://mytory.net/archives/3120

 

[MySQL] PASSWORD() 함수의 결과값이 달라졌을 때 (MySQL 4.1부터 달라짐)

MySQL 버전이 4.1대로 넘어오면서 MySQL 함수인 PASSWORD()의 암호화 방법이 달라졌다고 한다. 이전의 PASSWORD() 함수는 16자리 결과물(해시값)을 내놓는 데 반해 새로운 PASSWORD() 함수는 41자리 결과물

mytory.net

없어졌다 함수가

function old_password($password) {

    $nr=0x50305735;
    $nr2=0x12345671;
    $add=7;
    $charArr = preg_split("//", $password);
    foreach ($charArr as $char) {
        if (($char == '') || ($char == ' ') || ($char == '\t')) continue;
        $charVal = ord($char);
        $nr ^= ((($nr & 63) + $add) * $charVal) + ($nr << 8);
        $nr2 += ($nr2 << 8) ^ $nr;
        $add += $charVal;
    }
    return sprintf("%08x%08x", ($nr & 0x7fffffff), ($nr2 & 0x7fffffff));
}

----

password

SELECT CONCAT('*', UPPER(SHA1(UNHEX(SHA1('1234')))))

반응형