文件
mashangyoujiu/_ai_archive/scripts/test_crypto_debug.php

59 行
1.8 KiB
PHP
可执行文件

<?php
// 调试Crypto类的加密解密逻辑
require_once './Application/Addons/Api/Crypto.class.php';
$CryptoModel = new \Addons\Api\Crypto();
$userPassword = 'm5mbaGuYbw==';
$userAddTime = '20240903160000';
$timestamp = strtotime($userAddTime);
$timeFormat = date('YmdHis', $timestamp);
echo "目标密码哈希: {$userPassword}\n";
echo "用户add_time: {$userAddTime}\n";
echo "时间戳: {$timestamp}\n";
echo "格式化时间: {$timeFormat}\n\n";
// 测试解密
echo "=== 测试解密 ===\n";
$decrypted = $CryptoModel->decrypt($userPassword, $timeFormat);
echo "解密结果: '{$decrypted}'\n\n";
// 测试重新加密解密的结果
echo "=== 测试重新加密解密结果 ===\n";
$reencrypted = $CryptoModel->encrypt($decrypted, $timeFormat);
echo "重新加密: '{$reencrypted}'\n";
echo "是否匹配: " . ($reencrypted === $userPassword ? '是' : '否') . "\n\n";
// 测试一些常见密码的加密结果
echo "=== 测试常见密码加密 ===\n";
$testPasswords = ['123456', '888888', 'admin', 'password', '111111', '000000', 'di572'];
foreach ($testPasswords as $pwd) {
$encrypted = $CryptoModel->encrypt($pwd, $timeFormat);
echo "密码: '{$pwd}' -> 加密: '{$encrypted}'\n";
}
echo "\n=== 尝试不同的时间格式 ===\n";
// 尝试其他可能的时间格式
$timeFormats = [
$timeFormat,
date('Y-m-d H:i:s', $timestamp),
date('Ymd', $timestamp),
$userAddTime,
(string)$timestamp
];
foreach ($timeFormats as $tf) {
echo "时间格式: '{$tf}'\n";
$decrypted = $CryptoModel->decrypt($userPassword, $tf);
echo "解密结果: '{$decrypted}'\n";
if (!empty($decrypted)) {
$reencrypted = $CryptoModel->encrypt($decrypted, $tf);
echo "重新加密: '{$reencrypted}'\n";
echo "匹配: " . ($reencrypted === $userPassword ? '是' : '否') . "\n";
}
echo "\n";
}
?>