mysql - 在 MySql 上检查密码
问题描述
我是 MySql 的新手,
问题:
CREATE TABLE Empleado (
Usuario varchar(10) NOT NULL UNIQUE CHECK(LEN([Usuario]) = 10),
Contraseña varchar(7) NOT NULL CHECK (
LEN([Contraseña]) = 7 AND
[Contraseña] LIKE '%[0-9]%[0-9]%' AND -- 2 numbers
[Contraseña] LIKE '%[A-Za-z]%[A-Za-z]%[A-Za-z]%[A-Za-z]%[A-Za-z]%') -- 5 letters
)
);
在 SQL SERVER中你可以使用 LEN 但在MYSQL中我必须使用什么?
解决方案
是的,MySQL 有CHECK CONTRAINTS。
但是,您正在存储明文密码。强烈建议不要这样做。
建议使用password_hash或类似的应用程序代码进行安全密码存储。
要强制执行策略约束,请在应用程序代码中编写此逻辑。
推荐阅读
- dart - 如何在 Flutter 中更改文件扩展名?
- php - 无法在 HTML 表单中实现 reCaptcha
- angularjs - 如何用 .then() 替换所有 .success() 和 .error() 调用?
- php - 节点 mcu 获取数据未知
- android - 可以从扩展 Java 中的 RealmObject 的类进行扩展吗?
- javascript - 如何在jquery中订购号码?
- c++ - 为覆盆子 pi3 arm64 构建 qt
- node.js - web3.js:函数 web3.eth.Contract(abi, address) 未能启动合约实例
- octave - 是否有可能获得不同文件的平均值以进行一些计算?
- sapui5 - 从 Web IDE 在 Fiori Launchpad 中注册 SAPUI5 应用程序时出错