73 行
2.6 KiB
PHP
可执行文件
73 行
2.6 KiB
PHP
可执行文件
<?php
|
||
// 检查数据库中的用户数据
|
||
require_once './Application/Addons/Api/Crypto.class.php';
|
||
|
||
// 数据库连接配置
|
||
$host = '127.0.0.1';
|
||
$dbname = 'mss_nahaichuan_c';
|
||
$username = 'mss_nahaichuan_c';
|
||
$password = 'MyNmyAaRj9yWKPKH';
|
||
|
||
try {
|
||
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
|
||
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||
|
||
// 查询用户数据
|
||
$stmt = $pdo->prepare("SELECT id, login_name, password, add_time FROM ls_jurisdiction_user WHERE login_name = ?");
|
||
$stmt->execute(['13888888888']);
|
||
$user = $stmt->fetch(PDO::FETCH_ASSOC);
|
||
|
||
if ($user) {
|
||
echo "用户数据:\n";
|
||
echo "ID: {$user['id']}\n";
|
||
echo "用户名: {$user['login_name']}\n";
|
||
echo "密码哈希: {$user['password']}\n";
|
||
echo "添加时间: {$user['add_time']}\n\n";
|
||
|
||
$CryptoModel = new \Addons\Api\Crypto();
|
||
// 注意:add_time是Unix时间戳,不需要转换
|
||
$timestamp = $user['add_time'];
|
||
$timeFormat = date('YmdHis', $timestamp);
|
||
|
||
echo "时间戳: {$timestamp}\n";
|
||
echo "格式化时间: {$timeFormat}\n\n";
|
||
|
||
// 解密密码
|
||
$decrypted = $CryptoModel->decrypt($user['password'], $timeFormat);
|
||
echo "解密的密码: '{$decrypted}'\n\n";
|
||
|
||
// 验证解密结果
|
||
$reencrypted = $CryptoModel->encrypt($decrypted, $timeFormat);
|
||
echo "重新加密: '{$reencrypted}'\n";
|
||
echo "匹配原哈希: " . ($reencrypted === $user['password'] ? '是' : '否') . "\n\n";
|
||
|
||
// 测试登录
|
||
if ($reencrypted === $user['password']) {
|
||
echo "=== 测试登录API ===\n";
|
||
$url = 'https://mss.nahaichuan.com/index.php/Retail/Login/doLogin_v1';
|
||
$data = array(
|
||
'username' => $user['login_name'],
|
||
'password' => $decrypted
|
||
);
|
||
|
||
$options = array(
|
||
'http' => array(
|
||
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
|
||
'method' => 'POST',
|
||
'content' => http_build_query($data)
|
||
)
|
||
);
|
||
|
||
$context = stream_context_create($options);
|
||
$result = file_get_contents($url, false, $context);
|
||
echo "登录结果: {$result}\n";
|
||
}
|
||
|
||
} else {
|
||
echo "未找到用户数据\n";
|
||
}
|
||
|
||
} catch (PDOException $e) {
|
||
echo "数据库连接错误: " . $e->getMessage() . "\n";
|
||
}
|
||
?>
|