解析:教你轻松掌握如何对数据库进行加密

解析:教你轻松掌握如何对数据库进行加密,第1张

作为数据库管理员,您可以对数据库进行加密,使别人更难以破译数据库中的数据。可以使用简单加密或高度加密来保护您的数据库。 注意:压缩加密的数据库将从数据库中解除加密。 简单加密简单加密等效于模糊处理,并可使人使用磁盘实用程序难以查看文件以破译数据库中数据。简单加密并不要求用一个密钥来对数据库进行加密。 SQL Anywhere 的早期版本支持简单加密技术。 高度加密对数据库文件采用高度加密技术后,若没有密钥 (口令),就无法对数据库进行 *** 作。它还对包含在数据库及事务日志中的信息进行加密,这样信息就不会通过使用磁盘实用程序查看文件而很容易地被破译。没有密钥,数据则完全无法访问。 所选用于进行高度加密的算法是 AES:它是数据块加密算法,被美国 "国家标准与技术协会 (NIST)" 选作数据库密码的新的 " 高级加密标准"(AES)。 可以与 CREATE DATABASE 语句一起使用 ENCRYPTION 和 KEY 选项来对数据库进行高度加密。同样,数据库管理员也可以使用 dbinit 实用程序不同的选项结合,对数据库进行初始化,并启用高度加密。您还可以使用 "Sybase Central 创建数据库 " 向导来创建高度加密的数据库。与-ek 或 -ep 选项结合使用 dbinit 实用程序可以实现高度加密,并且指明是在提示框中还是在命令提示符处指定密钥。 创建高度加密的数据库 (SQL)1从 Interactive SQL 连接到一个现有的数据库。 2执行包含 ENCRYPTION 和 KEY 选项的 CREATE DATABASE 语句。例如,下面的语句在 C:\ 目录中创建一个名为myencrypteddbdb 的数据库文件。 CREATE DATABASE 'c:\\myencrypteddb' TRANSACTION LOG ON ENCRYPTED ON KEY '0kZ2o52AK#'创建高度加密的数据库 (命令提示符)1在命令提示符下,使用 dbinit 实用程序创建一个数据库。必须 包括下列选项: �6�1-ea:用于指定加密算法。 �6�1-ek 或 -ep:用于指定加密密钥以及希望在命令提示符处 还是在对话框中输入它。 下列命令 (应在一行中输入所有内容)创建一个高度加密的数 据库并指定输入加密密钥作为命令的一部分。 dbinit -ek "0kZ2o56AK#" "myencrypteddbdb"2从命令提示符处启动数据库。 dbeng9 myencrypteddbdb -ek "0kZ2o56AK#"与大多数口令一样,最好选择不容易被猜测的密钥值。我们建议您为密钥选择一个包含 8 到 30 位数字的值,且该值是大写和小写字符、数字、字母以及特殊字符的组合。 注意:一定要在安全的位置存储一份密钥。每次启动或修改数据库时,都需要使用该密钥。丢失了密钥将导致数据库完全无法访问,而无法访问的数据库是无法进行恢复的。

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

------------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

mysql数据库的认证密码有两种方式,mysql

41版本之前是mysql323加密,mysql

41和之后的版本都是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位。

以上就是关于解析:教你轻松掌握如何对数据库进行加密全部的内容,包括:解析:教你轻松掌握如何对数据库进行加密、如何在数据库内进行密码加密和解密、数据库加密有几种等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存