C++ mySQL的简单凭证表

C++ mySQL的简单凭证表,c++,mysql,C++,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; 请忽略所有内部参数…语法很好…我只想验证表单。基本上,我的主键和3个字段有一个

下面是我对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;
请忽略所有内部参数…语法很好…我只想验证表单。基本上,我的主键和3个字段有一个自动递增的int值——用户名、电子邮件和密码

我希望这是尽可能简单。搜索将基于id


问题:这对基本凭据表有效吗?

我建议您增加电子邮件字段的大小(电子邮件的最大长度可达256个字符)。此外,您还应将密码存储为哈希(例如bcrypt),而不是纯字符串。

请不要将密码存储为纯文本

使用众所周知的迭代哈希函数,如bcrypt或PBKDF2。不要存储原始MD5哈希,甚至不要存储原始SHA或SHA-2哈希。为了安全起见,您应该始终对哈希进行加密和迭代

您将需要一个额外的列来存储salt,如果您想变得灵活,还可以使用每个用户的迭代计数,甚至可以使用每个用户的哈希函数。这使您能够灵活地在将来更改为不同的哈希函数,而无需所有用户立即更改密码

除此之外,这张桌子看起来还不错