使用MD5密码通过PHP连接到MS SQL 2014

时间:2015-11-02 19:11:29

标签: php sql-server sql-server-2014 sqlsrv sql-server-2014-express

我通过PHP和sql_srv连接到MS SQL Server 2014:

<?php
$serverName = "SQLEXPRESS";
$connectionInfo = array( "Database"=>"TDB", "UID"=>"TEST", "PWD"=>"1234");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
?>

如您所见,密码只存储在纯文本中。因此,如果有人将使用此连接信息访问php文件,他们将获得对我的数据库的root访问权限。我怎么加密它?

我尝试过这样的事情:

$connectionInfo = array( "Database"=>"TDB", "UID"=>"TEST", "PWD"=>MD5("1234"));

$connectionInfo = array( "Database"=>"TDB", "UID"=>"TEST", "PWD"=>MD5('1234'));

$connectionInfo = array( "Database"=>"TDB", "UID"=>"TEST", "PWD"=>MD5(1234));

$connectionInfo = array( "Database"=>"TDB", "UID"=>"TEST", "PWD"=>"MD5(1234))";

等但总是有auth-error ......也许是因为

  • 我使用了错误的语法
  • 默认情况下,MS SQL存储的密码不在MD5中

如何在“PWD”文件中加密密码以将其安全地保存在连接信息文件中?谢谢!

更新:

我已经意识到,即使我写了类似“PWD”=&gt; MD5(“1234”)的东西,我也会在MD5中发送它,但仍然将它作为纯文本保存在我的配置文件中,ROFL!

所以我认为我需要这样的东西:

$ connectionInfo = array(“Database”=&gt;“TDB”,“UID”=&gt;“TEST”,“PWD”=&gt;“81dc9bdb52d04dc20036dbd8313ed055”);

其中81dc9bdb52d04dc20036dbd8313ed055 - '1234'密码的MD5哈希

0 个答案:

没有答案