Files
nxxmdata/backend/check-users.js
2025-08-25 15:00:46 +08:00

50 lines
1.8 KiB
JavaScript

const { User, Role } = require('./models');
const { sequelize } = require('./config/database-simple');
const bcrypt = require('bcrypt');
async function checkUsers() {
try {
console.log('连接数据库...');
await sequelize.authenticate();
console.log('数据库连接成功');
// 查看所有用户
console.log('\n=== 查看所有用户 ===');
const users = await User.findAll({
attributes: ['id', 'username', 'email', 'password', 'status']
});
console.log('用户数量:', users.length);
users.forEach(user => {
console.log(`ID: ${user.id}, 用户名: ${user.username}, 邮箱: ${user.email}, 状态: ${user.status}`);
console.log(`密码哈希: ${user.password}`);
});
// 测试密码验证
console.log('\n=== 测试密码验证 ===');
const testPassword = '123456';
// 测试testuser的密码
const testHash1 = '$2b$10$CT0Uk9ueBFN4jc/5vnKGguDfr4cAyV3NUXKVKG6GrFJVsbcJakXLy'; // testuser的哈希
const isValid1 = await bcrypt.compare(testPassword, testHash1);
console.log('testuser密码验证结果:', isValid1);
// 测试testuser2的密码
const testHash2 = '$2b$10$KJAf.o1ItgiTeff9dAJqyeLQ.f2QCRCR2cUlU/DLn6ifXcBLM3FvK'; // testuser2的哈希
const isValid2 = await bcrypt.compare(testPassword, testHash2);
console.log('testuser2密码验证结果:', isValid2);
// 测试手动生成的哈希
const manualHash = await bcrypt.hash(testPassword, 10);
console.log('手动生成的哈希:', manualHash);
const isValid3 = await bcrypt.compare(testPassword, manualHash);
console.log('手动哈希验证结果:', isValid3);
} catch (error) {
console.error('检查用户失败:', error);
} finally {
await sequelize.close();
}
}
checkUsers();