数据库里加密的密码是怎么实现的

数据库里加密的密码是怎么实现的,第1张

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

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

为什么加盐

举例

在注册时,

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

登入时,

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

如果想破解这条记录,你可以搜索MD5解密,不过需要付费。

如果是做登录验证,将用户输入的密码进行一次加密,然后进行匹配就可以。

还有一种,如果你有时间,可以写个程序,随机生成数据并进行加密,存到数据库中,当数据量足够大的时候,是有可能查到这条数据的

1如果你不想让别人知道你连接数据库的用户我与密码,

比如

jdbc:mysql://localhost/myDBuser=soft&password=soft1234

如果这样的串,那么建议你整个字符串进行加密解密。

如果是分开的,即

jdbc:mysql://localhost/myDB

user=soft

password=soft1234

三个参数进行连接,那么你就只对密码进行加密解密。

你这个是要给别人用的,那就将这些内容写到一个配置文件里,密码给出的是加密后的,

你读到程序里再解密进行连接。

如何进行解密,

这个真不知道怎么说,在你需的时候,拿到了加密的串,调用解密的方法,就可以得到还原的串,然后进行你要进行 *** 作就可以了。

应该是 取Connection前进行。

我对你的传输进行加密不是很理解。

你这个是WEB程序,还是应用程序?

加密了的话就必须找该数据库密码的创建者找到密码才可以打开了

一般只能这样

不然该数据库只有放弃了

如果是网页的数据库

你可以查看它的connasp里面的连接密码

原则上TDE正常加密后,是不会影响到数据的正常访问的。即使设备宕机,对正在运行的业务和数据库加解密没有影响。

不过最好尽快恢复加密设备,尤其是在实施的时候要客户保存好密钥。我们上了安华金和的数据库加密设备,感觉不错。你可以问问他们~不过还是要先采纳的我的意见。

给SQLite数据库加密解密的方法:

1、创建空的sqlite数据库。

//数据库名的后缀你可以直接指定,甚至没有后缀都可以

//方法一:创建一个空sqlite数据库,用IO的方式

FileStream fs = FileCreate(“c:\\testdb“);

//方法二:用SQLiteConnection

SQLiteConnectionCreateFile(“c:\\testdb“);

创建的数据库是个0字节的文件。

2、创建加密的空sqlite数据库

//创建一个密码为password的空的sqlite数据库

SQLiteConnectionCreateFile(“c:\\test2db“);

SQLiteConnection cnn = new SQLiteConnection(“Data Source=c:\\test2db“);

SQLiteConnection cnn = new SQLiteConnection(“Data Source=D:\\test2db“);

cnnOpen();

cnnChangePassword(“password“);

3、给未加密的数据库加密

SQLiteConnection cnn = new SQLiteConnection(“Data Source=c:\\testdb“);

cnnOpen();

cnnChangePassword(“password“);

4、打开加密sqlite数据库

//方法一

SQLiteConnection cnn = new SQLiteConnection(“Data Source=c:\\test2db“);

cnnSetPassword(“password“);

cnnOpen();

//方法二

SQLiteConnectionStringBuilder builder = new SQLiteConnectionStringBuilder();

builderDataSource = @”c:\testdb“;

builderPassword = @”password“;

SQLiteConnection cnn = new SQLiteConnection(builderConnectionString);

cnn Open();

除了用上述方法给SQLite数据库加密以外,您还可以使用专业的文件加密软件将SQLite数据库加密。

超级加密 3000采用先进的加密算法,使你的文件和文件夹加密后,真正的达到超高的加密强度,让你的加密数据无懈可击。

超级加密3000使用起来,只要点击需要加密的文件的右键,即可轻松实现文件的加密。

解密只要双击已加密文件,输入密码即可轻松搞定。

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

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

原文地址:https://54852.com/sjk/9278184.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存