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();