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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据库连接密码的加密方法?相关的知识,希望对你有一定的参考价值。

if ( function_exists( "date_default_timezone_set" ) )

date_default_timezone_set( "Asia/Shanghai" );

$conn = mysql_pconnect( "localhost", "root", "123456" );

mysql_select_db( "test100" );
mysql_query( "SET NAMES 'GBK'" );
这是 其中数据库连接 代码
但是数据库连接密码 是 以明文的方式出现了 有没有办法 把它加密一下 能用 MD5
加最好 !!

补充 :就是要加密代码中的 123456 这一个是数据库连接密码 。。

最基本的做法就是使用加密工具,先把字符串加密,之后用配置文件的方法,添加到你的项目中;
然后通过程序的运行,动态的将加密过的字符串进行逆转操作,恢复成123456,你需要考虑的是,哪种加密方式可以逆反操作,MD5这样的方式似乎只能进行单向的加密,其实,加密方式也就是一个计算的过程。

希望可以帮助到你~!
参考技术A 网上有MD5加密的计算方法源码,把你想用的密码经过加密后,把新生成的加密字符串更新入mysql库中的user表的密码字段上,每次连接数据库的时候,就用这个加密后的字符串就成。

数据库连接用户名和密码加密

我们的工程项目往往是使用云数据库的,连接使用账号密码就行了,但是程序里直接有密码是十分不安全的

这里我参考了别人的博客对这个问题进行解决

1. 需求背景

我们在开发应用时,需要连接数据库,一般把数据库信息放在一个属性配置文件中,比如java的mysql连接往往是这样

jdbc.url=jdbc\:mysql\://127.0.0.1/messageboards
jdbc.username=root
jdbc.password=root

 C#连接oracle的代码

Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=139.196.213.70)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=Orcl)));Persist Security Info=True;User ID=scott;Password=tiger;

隔着屏幕就感觉到了不安全,即使你对用户给定了其访问用户表的权限,但是人家一脱库这些东西全都被盗走可就太秀了

用户表的数据我们都不明文明文存储,何况这个更敏感的服务器信息呢,同样还是加密处理

2. 实现原理

实现原理其实很简单,配置文件存储加密后的用户名和密码,重写Druid数据源的两个方法setUsername(String username)和setPassword(String password)对信息解密。

3. 实现方式
3.1 写加密工具
首先得有一个加密工具,具有加解密功能,这里为了方便直接使用Druid中的工具类com.alibaba.druid.filter.config.ConfigTools。使用其中的encrypt(String plainText)方法和decrypt(String cipherText)方法采用默认的公私玥加解密。

3.2 加密配置文件
仅需将username和密码换为自己加密过的就好

 

以上是关于mysql数据库连接密码的加密方法?的主要内容,如果未能解决你的问题,请参考以下文章

Navicat连接远程数据库报1251的错误

PHP如何对用户密码进行加密

36. ClustrixDB 使用ClustrixDB加密连接

Node.js实现对mysql数据库的crud时报加密方式错误解决方案

Springboot整合Hikari数据库连接池,密码加密

如何修改mysql数据库中的用户名和密码