首页 > 解决方案 > 在 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

解决方案


是的,MySQL 有CHECK CONTRAINTS

但是,您正在存储明文密码。强烈建议不要这样做。

建议使用password_hash或类似的应用程序代码进行安全密码存储。

要强制执行策略约束,请在应用程序代码中编写此逻辑。


推荐阅读