sql server中怎么给数据库表中的用户密码加密

sql server中怎么给数据库表中的用户密码加密,第1张

在SQl2005下自带的函数hashbytes()

,此函数是微软在SQL

SERVER

2005中提供的,可以用来计算一个字符串的

MD5

SHA1

值,使用方法如下:

--获取123456的MD5加密串

select

hashbytes('MD5',

'123456')

;

--获取123456的SHA1加密串

select

hashbytes('SHA1',

'123456')

;有了这个函数可以在sqlserver中为字符串进行加密,但是hashbytes()

函数的返回结果是

varbinary类型,(以

0x

开头

16

进制形式的二进制数据)通常情况下,我们需要的都是字符串型的数据,很多人首先想到的可能就是用

CAST

Convert

函数将varbinary

转换为

varchar,但这样转换后的结果会是乱码,正确转换

varbinary

可变长度二进制型数据到

16

进制字符串应该使用系统内置函数

sysfn_varbintohexstr()(只在sqlserver2005下有),如下所示:select

sysfn_varbintohexstr(hashbytes('MD5',

'123456'))

然后就可以截取需要的部分select

lower(right(sysfn_varbintohexstr(hashbytes('MD5','123456')),32))为md5加密串。

点击access的开始菜单,打开开始菜单

在开始菜单中,选择打开

在打开对话框中,我们选中一个我们想要加密的数据库,然后点击下面这个下拉按钮,也就是黑色小三角,打开一个下拉菜单

在这个菜单中,点击以独占方式打开

在打开的数据库中,我们点击菜单栏上面的数据库工具

在这个选项中,我们点击用密码进行加密

输入密码两次,如果两次密码输入一样,点击确定即可。

如果你要取消密码,同样需要以独占方式打开数据库

还是在添加密码的地方,依次点击数据库工具——用密码进行加密

如果你没有用独占方式打开数据库,在这一步,系统会提示你,不能修改密码,这时候你要返回第八步,重新打开

如果你是以独占方式打开数据库,那么你在这一步会看到输入密码的对话框,如果你输入的密码正确,数据库就会被取消密码。点击确定即可。

一般是先加盐再用不可逆加密算法加密密码的,常见的有:sha1 sha256 md5等。

作用:这些加密算法,只能加密,不能逆向解密,所以使用这些算法。即时你的数据库被拖库,得到的人,也无法知道用户密码。

为什么加盐

举例

在注册时,

假设你的密码是1234,一般服务器会加一个盐(随便一个乱打的字符串),和你的密码加在一起,1234和efnU(@#H!JKNF得到1234efnU(@#H!JKNF这个值,然后再进行加密(这里我用md5)得到 91dc02c1fc2ce2252969e6b86173aa78,于是数据库里你的密码就变为了91dc02c1fc2ce2252969e6b86173aa78

登入时,

你输入1234, 然后服务器用和注册相同的步骤进行加密,得到加密后的值,91dc02c1fc2ce2252969e6b86173aa78,将这个值与数据库的加密值比对,如果正确则登入。

以上就是关于sql server中怎么给数据库表中的用户密码加密全部的内容,包括:sql server中怎么给数据库表中的用户密码加密、怎么给ACCESS数据库加密、数据库里加密的密码是怎么实现的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/sjk/10200344.html

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

发表评论

登录后才能评论

评论列表(0条)

保存