一个简单的mySQL凭证表
A simple credentials table for mySQL
下面是我对mysql凭证表的简单表定义。
case "credentials":
self::create('credentials', 'identifier INT NOT NULL AUTO_INCREMENT, flname VARCHAR(60), email VARCHAR(32), pass VARCHAR(40), PRIMARY KEY(identifier)');
break;
请忽略除内部参数外的所有参数…语法很好……我只是想核实一下表格。基本上,我有一个自动递增的PRIMARY KEY和3个字段—用户名、电子邮件和密码。
我希望这个尽可能简单。搜索将基于id
问题:这是否适用于基本凭据表?
请不要以明文形式存储密码
使用众所周知的迭代散列函数,如bcrypt或PBKDF2。不要存储原始MD5散列,甚至不要存储原始SHA或SHA-2散列。为了安全,你应该总是对你的哈希值进行加盐和迭代。
你需要一个额外的列来存储盐,如果你想要灵活,你也可以有每个用户的迭代计数,甚至每个用户的哈希函数。这使您可以灵活地在将来更改为不同的散列函数,而无需所有用户立即更改密码。
我建议您增加电子邮件字段的大小(电子邮件的最大长度可达256个字符)。此外,您应该将密码存储为散列(例如bcrypt),而不是普通字符串。
相关文章:
- C++MySQL C api用户输入行
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 使用mysql c++连接器的未定义引用
- 无法在C++中建立与MySQL数据库的连接
- mysql C++ connector [mysql-connector-c++-8.0.19-linux-glibc2
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- Poco FindMySql.cmake 无法找到 MySQL 源代码
- MySQL C++连接器链接错误
- 配置:错误:找不到 MySQL 包含目录
- 在装有 CLion 的 Mac 上使用 C++ 连接到 MySQL 数据库时出现问题
- C++MySQL连接器没有utf8
- Qt5 从 MySQL 数据库中选择数据
- Arch Linux.AUR 包 mysql 不能用 makepkg 构建.错误:构建 () 中出现故障
- 在 MySQL/Connector C++中使用 SQL 联接
- 如何在MySQL Connector/C++ 8.0中使用DATETIME?
- Postgres vs MySQL:命令不同步;.
- FindPOCO CMAKE 脚本无法找到 MYSQL::client
- 数据未插入 MySQL databae
- MySQL 连接器/C++.尝试在此过程中停止连接到数据库
- 一个简单的mySQL凭证表