mysql数据库连接密码的加密方法

mysql数据库连接密码的加密方法,第1张

最基本的做法就是使用加密工具,先把字符串加密,之后用配置文件的方法,添加到你的项目中;

然后通过程序的运行,动态的将加密过的字符串进行逆转 *** 作,恢复成123456,你需要考虑的是,哪种加密方式可以逆反 *** 作,MD5这样的方式似乎只能进行单向的加密,其实,加密方式也就是一个计算的过程。

希望可以帮助到你~!

点击access的开始菜单,打开开始菜单

在开始菜单中,选择打开

在打开对话框中,我们选中一个我们想要加密的数据库,然后点击下面这个下拉按钮,也就是黑色小三角,打开一个下拉菜单

在这个菜单中,点击以独占方式打开

在打开的数据库中,我们点击菜单栏上面的数据库工具

在这个选项中,我们点击用密码进行加密

输入密码两次,如果两次密码输入一样,点击确定即可。

如果你要取消密码,同样需要以独占方式打开数据库

还是在添加密码的地方,依次点击数据库工具——用密码进行加密

如果你没有用独占方式打开数据库,在这一步,系统会提示你,不能修改密码,这时候你要返回第八步,重新打开

如果你是以独占方式打开数据库,那么你在这一步会看到输入密码的对话框,如果你输入的密码正确,数据库就会被取消密码。点击确定即可。

php将密码存入数据库,可以分内常见的4种方式:

1、直接md5加密存到到数据库

2、md5两次存到数据库

3、对需要加密的字符串和一个常量 进行混淆加密

4、生成一个随机的变量存到数据库中,然后对需要加密的字符串和这个随机变量加密

<php

$str="admin"; //需要加密的字符串

$str2="php";  //增加一个常量混淆 

$pass1=md5($str);

$pass2=md5(md5($str));

$pass3=md5($str$str2);

echo $pass1"<br>"$pass2"<br>"$pass3;

>

输出:

第四种

$str="admin"; //需要加密的字符串

$encrypt=$row['encrypt']; // 生成的 随机加密字符串 存到数据库中

$pass4=md5($str$encrypt);

//  8db2ec7e9636f124e56f7eb4d7b7cc7e

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

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

1、定义一个加密处理的class类,通常可以使用MD5来加密,在网络上可以找到此Java源代码

2、在保存用户的密码时,先对获取的密码进行MD5加密后再保存到数据,如:

String passwd=requestgetParameter("passwd");

passwd=MD5(passwd);

//通过JDBC写入到数据库

3、在用户登录时,将用户登录输入的密码进行MD5加密后与数据库读取的密码进行比较,若相等若通过登录:

String passwd=requestgetParameter("passwd");

if(MD5(passwd)equal(rsget("passwd")))

//通过登录

数据库账号密码加密详解及实例

数据库中经常有对数据库账号密码的加密,但是碰到一个问题,在使用UserService对密码进行加密的时候,spring security 也是需要进行同步配置的,因为spring security 中验证的加密方式是单独配置的。如下:

<authentication-manager>

<authentication-provider user-service-ref="userDetailService">

<password-encoder ref="passwordEncoder" />

</authentication-provider>

</authentication-manager>

<beans:bean class="comsapphiresecurityMyPasswordEncoder" id="passwordEncoder">

<beans:constructor-arg value="md5"></beans:constructor-arg>

</beans:bean>

如上述配置文件所示,passwordEncoder才是在spring security对账号加密校验的地方。

spring security在拦截之后,会首先对用户进行查找,通过自己定义的userDetailService来找到对应的用户,然后由框架进行密码的匹配验证。

从userDetailService得到user以后,就会进入到DaoAuthenticationProvider中,这是框架中定义的 ,然后跳入其中的authenticate方法中。

该方法会进行两个检查,分别是

preAuthenticationChecks : 主要进行的是对用户是否过期等信息的校验,调用的方法在userDetail中有定义的。

additionalAuthenticationChecks : 这个就是用户名密码验证的过程了。

而PasswordEncoder是我们xml中注入的bean,所以了,我们调用的则是我们自己完成的passwordEncoder

public class MyPasswordEncoder extends MessageDigestPasswordEncoder {

public MyPasswordEncoder(String algorithm) {

super(algorithm);

}

@Override

public boolean isPasswordValid(String encPass, String rawPass, Object salt) {

return encPassequals(DigestUtilsmd5DigestAsHex(rawPassgetBytes()));

}

}

这是我对其实现的一个简单版本,调用的就是spring自带的加密算法,很简单了,当然也可以使用复杂的加密方法,这个就靠自己了

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

问题解决思路:将配置文件用户相关的信息(例如:密码)进行加密使其以密文形式存在,进行初始化连接池的时候进行解密 *** 作,达到成功创建连接池的目的。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下部署的应用在连接数据源的时候都可以在不暴露密码明文的情况下进行连接。转载,仅供参考。

以上就是关于mysql数据库连接密码的加密方法全部的内容,包括:mysql数据库连接密码的加密方法、如何给access2016数据库加密、各位用php将密码存入数据库,都用什么方法进行加密的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9764844.html

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

发表评论

登录后才能评论

评论列表(0条)

保存