欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql數(shù)據(jù)庫(kù)密碼解密工具

在使用mysql數(shù)據(jù)庫(kù)的時(shí)候,經(jīng)常會(huì)遇到需要使用密碼的情況,但如果密碼忘記了或者需要從別的地方復(fù)用之前的密碼,就需要使用密碼解密工具進(jìn)行解密。

下面介紹一種常用的mysql數(shù)據(jù)庫(kù)密碼解密工具,可使用php代碼實(shí)現(xiàn),也可在命令行中使用。

/**
 * mysql password decrypt tool
 * 
 * @see http://dev.mysql.com/doc/internals/en/secure-password-authentication.html
 **/
class MysqlPasswordDecryptor
{
const SCRAMBLE_LENGTH = 20;
const PLUGIN_NAME = 'mysql_native_password';
// mysql password encryption
public static function encrypt($password, $publicKey)
{
$scramble = substr($publicKey, 0, self::SCRAMBLE_LENGTH) ^ str_repeat(md5($password . self::PLUGIN_NAME), self::SCRAMBLE_LENGTH);
return '*' . strtoupper(sha1(sha1($scramble) . pack('H*', sha1($publicKey))));
}
// mysql password decryption
public static function decrypt($password)
{
if (strlen($password)<= 1) {
return false;
}
if ($password[0] == '*') {
$password = substr($password, 1);
if (strlen($password) != 40) {
return false;
}
return $password;
}
return false;
}
}

以上代碼中,encrypt函數(shù)是mysql密碼加密函數(shù),接收兩個(gè)參數(shù),分別為密碼和公鑰,返回加密后的密碼字符串;

decrypt函數(shù)則是mysql密碼解密函數(shù),接收一個(gè)參數(shù),即需要解密的密碼,返回解密后的密碼字符串。

當(dāng)解密函數(shù)返回false時(shí),說(shuō)明無(wú)法解密該密碼。