
一般是先加盐再用不可逆加密算法加密密码的,常见的有: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中对数据库用户密码加密等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)