1 Star 1 Fork 3

sunshine/Qt_TrainTicketingSystem

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
userInfoUtil.h 2.03 KB
一键复制 编辑 原始数据 按行查看 历史
#ifndef USERINFOUTIL_H
#define USERINFOUTIL_H
#include "qregexp.h"
#include <QString>
#include <QSqlQuery>
#include <QCryptographicHash> // md5加密的库
#include<QDebug>
/*
* Date: 2022/11/17
* Name: 王宇轩
* Student ID: 20301142
* Description: 这个类存储登陆、注册、修改密码
* 等方法异常判断的sql语句和相关方法。
*/
// 检查用户的注册密码是否正确
bool checkPsw(const QString& psw)
{
// 密码长度为6-12位,且必须为数字、大小写字母或符号中至少2种
QString reg = "^(?![\\d]+$)(?![a-zA-Z]+$)(?![^\\da-zA-Z]+$).{6,12}$";
QRegExp rx(reg);
bool ok = rx.exactMatch(psw);
return ok;
}
// 检查注册的用户名格式是否正确
bool checkUsername(const QString & username)
{
//密码长度为6-12位,且必须为数字、大小写字母或符号中至少2种
QString reg = "^[a-zA-Z0-9_]{6,16}$";
QRegExp rx(reg);
bool ok = rx.exactMatch(username);
return ok;
}
// 从数据库中查询当前注册用户是否存在
bool isUserExist(const QString & username){
qDebug()<<username;
//若用户完成输入,则在数据库中进行匹配
QString sql=QString("select * from user where username='%1'")
.arg(username);
//创建执行语句对象
QSqlQuery result(sql);
//判断执行结果,判断是否存在该用户
if(!result.next()){
return false;
}
return true;
}
// 检查用户名和密码是否匹配
bool isUserAndPswMatch(const QString & username,const QString & password){
QString psw =
QCryptographicHash::hash(password.toLatin1(), QCryptographicHash::Md5).toHex();
//若当前用户存在,则判断用户名和密码是否匹配
QString sql=QString("select * from user where username='%1' and password='%2'")
.arg(username,psw);
QSqlQuery result(sql);
//判断执行结果
if(!result.next()){
return false;
}
return true;
}
#endif // USERINFOUTIL_H
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/sunxuchao/qt_-train-ticketing-system-q.git
git@gitee.com:sunxuchao/qt_-train-ticketing-system-q.git
sunxuchao
qt_-train-ticketing-system-q
Qt_TrainTicketingSystem
master

搜索帮助