在数据库(Sql)中要check 约束一个密码的长度表达式怎么写的

在数据库(Sql)中要check 约束一个密码的长度表达式怎么写的,第1张

数据库中约束一个密码长度分两种情况,一种是表还未建,在建立过程中约束;另一种是表已存在,在此基础上约束。 工具:sqlserver 2008 R2 第一种情况(创建表过程中创建约束): 1、语句如下: create table [user](id int,pwd varchar(20) ch...

什么数据库? 普通的 Oracle , DB2, SQL Server 的话, 简单。 例如: CHECK ( 性别 IN ( '男' , '女', '不明' ) ) 如果是 Mysql 的话, 使用 enum 也就是建表的时候指定。 例如: mysql>CREATE TABLE test_create_tab5 ( ->id INT PRIMARY KEY...

可用check约束来实现。 如,创建测试表: create table test(id varchar(10) check (len(id)>=6))测试方法: 1、插入一个不足6位长的字符,会报如下错误: 2、插入一个大于等于6位长的字符,会提示成功:

ALTER TABLE 表名 ADD CONSTRAINT CK_约束名 CHECK(len(列名)>=6)

年龄 >18

只能约束位数 CONSTRAINT cCusAbbName CHECK (cCusAbbName LIKE '%[a-zA-Z]%') and LENGTHB(cCusAbbName) >6)

alter table Table add constraint CN_Column1 check (len(Column1)>6) 替换掉Table和Column1即可

check 约束里面 设置 一般是在表设置列名 后面 写上 check(len(Password)>=6 and len(Password)

检查约束首字母为s: check(col1 like 's%') 检查约束前3位和后8位均为数字字符: check(col2 like '[0-9][0-9][0-9]%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')

create table aa( ..., pwd varchar(32), ..., check(len(pwd) >6) --用check约束,pwd字段长度必须要6位以上)

数据库如何判断密码的长度是否满足6位

可以对表加长度制约

也可以len

但是,一般密码在数据库中都是加过密的值,或者是raw类型的,所以不能直接判断,

要先解密然后判断长度.

会,暴力破解的明显问题是密码越长,破解密码所用的时间就越长。密码一旦超过一定长度,基本上不可能强行破解。

例如,使用破解的服务器集群,每秒可以尝试3500亿次。破解6位密码只需4.08秒,7位密码为6.47分钟,8位密码为10.24小时,9位密码为40.53天,10位密码为10.55年。

服务器集群具有更快的密码破解速度

简单的长密码远远不够,因为也有破解密码的方法,就是使用"密码簿"。"密码簿"是一组常见的密码,还集成了一些常用的日期和词汇,随着破解密码的增加,密码簿也不断丰富。

密码簿已成为破解密码的一种手段。

破解专家会针对不同的环境使用不同大小的密码本,即原始暴力破解进入密码簿的尝试,有些人也会有自己的密码簿,一般来说,密码本越丰富,密码越常见,快速破解的几率就越高。

破解密码比你想象的要容易。

所以设置密码的原则是,第一个密码足够长,第二个是我们不能使用普通单词,也就是我们常说的"强密码。"这就是为什么有些网站要求密码不少于8位,必须包含大写和小写字母和数字。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9627048.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存