问题解决思路:将配置文件用户相关的信息(例如:密码)进行加密使其以密文形式存在,进行初始化连接池的时候进行解密 *** 作,达到成功创建连接池的目的。Tomcat默认使用DBCP连接池(基于common-pool的一种连接池实现),可在下载commons-dbcp源码包commons-dbcp-14-srczip,对orgapachecommonsdbcpBasicDataSourceFactory类修改,把数据库密码字段(加密后的密文)用解密程序解密,获得解密后的明文即可。具体实现:1修改orgapachecommonsdbcpBasicDataSourceFactory类文件找到数据源密码设置部分value=propertiesgetProperty(PROP_PASSWORD);if(value!=null){dataSourcesetPassword(value);}修改为:value=propertiesgetProperty(PROP_PASSWORD);if(value!=null){dataSourcesetPassword(Encodedecode(value));}将配置文件中的“密码”(加密后的结果)取出,调用加解密类中的解密方法Encodedecode(value)进行解密。2加密类Encodejava,本例中使用加密解密模块比较简单只是用来说明问题,密文为明文的十六进制串。publicclassEncode{//编码-普通字符串转为十六进制字符串publicstaticStringencode(Stringpassword){Stringresult=“”;byte[]psd=passwordgetBytes();for(inti=0;ipassword696e65743231urljdbc:oracle:thin:@127001:1521:orcldriverClassNameoraclejdbcdriverOracleDriverusernamewanfang4将修改后的BasicDataSourceFactoryjava和新添加的Encodejava编译后的class类文件重新打包进commons-dbcp-14jar,将该包拷贝进tomcat下的common/lib目录中,重启tomcat。此时tomcat下部署的应用在连接数据源的时候都可以在不暴露密码明文的情况下进行连接。转载,仅供参考。
数据库密码加密的不能看原密码。
数据库的密码都是经过再处理的,看不到原来的码,如果没经过处理,以明码的形式保存,那是看的到的。
数据库系统是由数据库及其管理软件组成的系统。它是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
我这儿有一组密码,是SQL SERVER 2000上面,通过软件输入密码后,无论在注册表里面,还是在数据库里的表里面,看到的却不是我输的明文密码了,却变成了这样的一串:
比如说我输明文:dcss2004
加密后就成了:fsgdhper~mdqendu
如果我输:123456
加密码就成了:dreefbce~pdw
如果我输入:abcdefg
加密后就成了:fpgcgyec�fugs
我想知道:这种是通过MD5算法还是其他算法的呢,有没有达人能帮我破译下算法。。。。
现在提供一下加密后的暗文,求明文。呵呵
暗文:gihbgtbp~egmhbgeeeft
求明文ING。。。。。。。。。。。。。。
解析:
貌似不是商用加密算法,应该是自己定义的
解密很麻烦的,需要大量样本,不然就得猜了
给你点提示,你这个算法密文长度是明文长度的两倍,应该是由明文ASCII码运算得出的
md5加密,是不可逆的,但现在可以通过比较加密后的串来得到密码,所以一般的做法是先做一次或多次的位移,再做md5加密,这样相对安全一些。
自己的系统要验证,也是先将用户输入的密码,做相应的位移,再做md5加密,比较最后结果。
如何在SQL Server数据库中加密数据
在Sql Server 中经常要对存在表中数据加密,比如密码字段,我们可以利用Sql 中自带的加密函数pwdencrypt()来进行加密,加密之后无法解密码,需要使用pwdcompare('原文','密码')对比,如果返回结果为1,表示密码相符,如果为0,表示不符
给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使用起来,只要点击需要加密的文件的右键,即可轻松实现文件的加密。
解密只要双击已加密文件,输入密码即可轻松搞定。
1、进入数据库之后,选择创建。选择模板里的空白桌面数据库。
2、创建之后,在桌面的位置保持,并更改文件名。
3、一定要重新创建之后才能够设置密码。在数据库上的文件点击进入。
4、在信息可以看到用密码进行加密。
5、然后调出设置数据库密码,设置密码和验证。
6、设置密码之后调出使用分组加密进行加密与行级别锁定不兼容。
7、设置密码时候之后。双击数据库之后就要求输入密码才能打开。
以上就是关于如何配置数据库密码加密访问数据库全部的内容,包括:如何配置数据库密码加密访问数据库、数据库密码加密的怎么看原密码、数据库加密的密码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)