如何在数据库内进行密码加密和解密

如何在数据库内进行密码加密和解密,第1张

作为参考,数据本身提供的字符串加密方法:

------------1HASHbytes---------------

SELECT sysfn_sqlvarbasetostr(HASHbytes('MD5','2324243')),sysfn_VarBinToHexStr(HASHbytes('MD5','2324243'))

------------2 EncryptByPassPhrase 带公钥---------------

--公钥最好保存在其他地方

declare @pwd varbinary(max) ,@password nvarchar(1000) , @EncrptString nvarchar(max)

set @password ='1234567'

set @EncrptString= N'我是中国人'

--加密

SELECT @pwd = EncryptByPassPhrase( @password, @EncrptString)

select @pwd

--解密

SELECT @EncrptString =CAST( DecryptByPassPhrase(@password,@pwd) as nvarchar(max))

select @EncrptString

数据库有五种类型约束,分别为:主键约束、唯一约束、检查约束、默认约束、外键约束。

主键约束:要求主键列数据唯一,并且不允许为空。

唯一约束:要求该列唯一,允许为空,但只能出现一个空值。

检查约束:某列取值范围限制、格式限制等。

默认约束:某列的默认值。

外键约束:用于在两表之间建立关系,需要指定引用主表的哪一列。

数据库约束是对表中的数据进行进一步的限制,保证数据的正确性、有效性和完整性。

约束通常与一个表相关联,并使用CREATE CONSTRAINT或CREATE ASSERTIONSQL语句创建。

所有的关系数据库都支持对数据表使用约束,通过约束可以更好地保证数据表里数据的完整性。

是表上强制执行的校验规则,除此之外,当表中数据存在相互依赖性时,可以保护相关数据不被删除。约束通常无法修改。

扩展资料

数据库中的五大约束:

1、主关键字约束

主关键字约束指定表的一列或几列的组合的值在表中具有惟一性,即能惟一地指定一行记录。每个表中只能有一列被指定为主关键字,且IMAGE 和TEXT 类型的列不能被指定为主关键字,也不允许指定主关键字列有NULL 属性。

2、外关键字约束

外关键字约束定义了表之间的关系。当一个表中的一个列或多个列的组合和其它表中的主关键字定义相同时,就可以将这些列或列的组合定义为外关键字,并设定它适合哪个表中哪些列相关联。

3、唯一性约束

惟一性约束指定一个或多个列的组合的值具有唯一性,以防止在列中输入重复的值。唯一性约束指定的列可以有NULL 属性。由于主关键字值是具有唯一性的,因此主关键字列不能再设定唯一性约束。唯一性约束最多由16 个列组成。

4、检查约束

检查约束对输入列或整个表中的值设置检查条件,以限制输入值,保证数据库的数据完整性。可以对每个列设置复合检查。

5、缺省约束

缺省约束通过定义列的缺省值或使用数据库的缺省值对象绑定表的列,来指定列的缺省值。SQL Server 推荐使用缺省约束,而不使用定义缺省值的方式来指定列的缺省值。

以上就是关于如何在数据库内进行密码加密和解密全部的内容,包括:如何在数据库内进行密码加密和解密、数据库有哪几种类型约束、什么是数据库约束等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存