반응형
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')))))
반응형
'데이터베이스 > MYSQL' 카테고리의 다른 글
서버이전후 ONLY_FULL_GROUP_BY (0) | 2023.12.13 |
---|---|
The server requested authentication method unknown to the client (0) | 2023.05.08 |
Your password does net satisfy the current policy requirements (0) | 2021.05.07 |
현재시간 기본값설정 : CURRENT_TIMESTAMP (0) | 2020.05.15 |
DELETE LEFT JOIN (0) | 2020.02.18 |