① 数据库里加密的密码是怎么实现的
一般是先加盐再用不可逆加密算法加密密码的,常见的有:sha1 sha256 md5等。
作用:这些加密算法,只能加密,不能逆向解密,所以使用这些算法。即时你的数据库被拖库,得到的人,也无法知道用户密码。
为什么加盐
举例
在注册时,
假设你的密码是1234,一般服务器会加一个盐(随便一个乱打的字符串),和你的密码加在一起,1234和efnU*(@#H!JKNF得到1234efnU*(@#H!JKNF这个值,然后再进行加密(这里我用md5)得到 ,于是数据库里你的密码就变为了
登入时,
你输入1234, 然后服务器用和注册相同的步骤进行加密,得到加密后的值,,将这个值与数据库的加密值比对,如果正确则登入。
② 用户名和存储密码迷你数据库加密的话应该怎么做
1、定义一个加密处理的class类,通常可以使用MD5来加密,在网络上可以找到此Java源代码
2、在保存用户的密码时,先对获取的密码进行MD5加密后再保存到数据,如:
String passwd=request.getParameter("passwd");
passwd=MD5(passwd);
//通过JDBC写入到数据库
3、在用户登录时,将用户登录输入的密码进行MD5加密后与数据库读取的密码进行比较,若相等若通过登录:
String passwd=request.getParameter("passwd");
.......
if(MD5(passwd).equal(rs.get("passwd")))
//通过登录
假如你是一个管理员,
你还要进行一些用户的建立及授权,这又涉及到设置密码的问题.下面我们就讨论一下如何设置密码:
首先我们应该知道Mysql数据库中的口令存储必须用password()函数加密它.因为在user表中是以加密形式存储口令,而不是作为纯文本.如果你没有加密,直接在数据库中执行以下语句:
use
mysql
insert
into
user
(host,user,password)
values
('%','user_name','your
password');
flush
privileges;相信结果不会让你满意.因为服务器比较的是加密的值,所以服务器连接一定失败.这里需要说明的是flush
privileges;这条
命令起到了重新加载授权表.你也可以在shell下直接用mysqladmin
-u
root
reload或者mysqladmin
-u
root
flush-privileges来
实现重载授权表.
在MySQL环境下,你可以使用以下语句进行设置密码:
1.insert
into
user(host,user,password)
values('%','user_name',password("your
password");
2.set
password
for
user_name
=
password("your
password")以上两种方法都必须进行重载授权表.
3.当然你也可以在创建一个用户时直接设置密码,grant语句将为你自动加密口令.
示例:
grant
all
on
*.*
to
mailto:user_name@
identified
by
"your
password";另外大家也可以在shell环境下用mysqladmin程序来设置密码。
④ sql server中怎么给数据库表中的用户密码加密
在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
进制字符串应该使用系统内置函数
sys.fn_varbintohexstr()(只在sqlserver2005下有),如下所示:select
sys.fn_varbintohexstr(hashbytes('MD5',
'123456'))
然后就可以截取需要的部分select
lower(right(sys.fn_varbintohexstr(hashbytes('MD5','123456')),32))为md5加密串。
⑤ mysql 数据库的 登录密码的 加密方式是什么
MySQL数据库的认证密码有两种方式,
MySQL
4.1版本之前是MySQL323加密,MySQL
4.1和之后的版本都是MySQLSHA1加密,
MySQL数据库中自带Old_Password(str)和Password(str)函数,它们均可以在MySQL数据库里进行查询,前者是MySQL323加密,后者是MySQLSHA1方式加密。
(1)以MySQL323方式加密
select old_password('111111');
(2)以MySQLSHA1方式加密
select
password('111111');
MYSQL323加密中生成的是16位字符串,而在MySQLSHA1中生存的是41位字符串,其中*是不加入实际的密码运算中,通过观察在很多用户中都携带了"*",在实际破解过程中去掉"*",也就是说MySQLSHA1加密的密码的实际位数是40位。
⑥ 如何在数据库内进行密码加密和解密
作为参考,数据本身提供的字符串加密方法:
------------1.HASHbytes---------------
SELECT sys.fn_sqlvarbasetostr(HASHbytes('MD5','2324243')),sys.fn_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
⑦ sql server中怎么给数据库表中的用户密码加密
1、首先我们电脑上要安装有SQL Server,然后要准备一个MDF数据库文件。打开SQL Server。
⑧ sql数据加密有几种方法
对sql中的数据进行加密,有5种方法,
1、利用CONVERT改变编码方式:
利用该函数把文字或数据转换成VARBINARY。但该方式不具备保护数据的能力,仅避免浏览数据的过程中能直接看到敏感数据的作用。
2、利用对称密钥:
搭配EncryptByKey进行数据加密。使用DecryptByKey函数进行解密。这种方式比较适合大数据量。因为对称密钥的过程耗用资源较少。
3、利用非对称密钥:
搭配EncryptByAsymKey进行数据加密。使用DecryptByAsymKey函数进行解密。用于更高安全级别的加解密数据。因为耗用资源叫多。
4、利用凭证的方式:
搭配EncryptByCert进行加密和DecryptByCert函数进行解密。比较类似非对称密钥。
5、利用密码短语方式:
搭配EncryptBypassPhrase进行加密,使用DecryptByPassPhrase函数来解密。可以使用有意义的短语或其他数据行,当成加密、解密的关键字,比较适合一般的数据加解密。
(8)数据库表中密码如何给密码加密扩展阅读:
sql数据库的组成:
在正式学习SQL语言之前,首先让我们对SQL语言有一个基本认识,介绍一下SQL语言的组成:
1、一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。
2、一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。
3、一个表或者是一个基本表或者是一个视图。基本表是实际存储在数据库的表,而视图是由若干基本表或其他视图构成的表的定义。
4、一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。每个存储文件与外部存储上一个物理文件对应。
5、用户可以用SQL语句对视图和基本表进行查询等操作。在用户角度来看,视图和基本表是一样的,没有区别,都是关系(表格)。
6、SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使用,宿主语言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada语言等。
SQL用户也能作为独立的用户接口,供交互环境下的终端用户使用。
参考资料来源:网络-SQL数据库
⑨ mysql数据库密码加密方式有几种
MySQL数据库的认证密码有两种方式,
MySQL 4.1版本之前是MySQL323加密,MySQL 4.1和之后的版本都是MySQLSHA1加密,
MySQL数据库中自带Old_Password(str)和Password(str)函数,它们均可以在MySQL数据库里进行查询,前者是MySQL323加密,后者是MySQLSHA1方式加密。
(1)以MySQL323方式加密
selectold_password('111111');
(2)以MySQLSHA1方式加密
select password('111111');
MYSQL323加密中生成的是16位字符串,而在MySQLSHA1中生存的是41位字符串,其中*是不加入实际的密码运算中,通过观察在很多用户中都携带了"*",在实际破解过程中去掉"*",也就是说MySQLSHA1加密的密码的实际位数是40位。
⑩ 如何给access2016数据库加密
点击access的开始菜单,打开开始菜单
在开始菜单中,选择【打开】
在打开对话框中,我们选中一个我们想要加密的数据库,然后点击下面这个下拉按钮,也就是黑色小三角,打开一个下拉菜单
在这个菜单中,点击【以独占方式打开】
在打开的数据库中,我们点击菜单栏上面的【数据库工具】
在这个选项中,我们点击【用密码进行加密】
输入密码两次,如果两次密码输入一样,点击确定即可。
如果你要取消密码,同样需要【以独占方式打开】数据库
还是在添加密码的地方,依次点击【数据库工具】——【用密码进行加密】
如果你没有用独占方式打开数据库,在这一步,系统会提示你,不能修改密码,这时候你要返回第八步,重新打开
如果你是以独占方式打开数据库,那么你在这一步会看到输入密码的对话框,如果你输入的密码正确,数据库就会被取消密码。点击确定即可。