我通过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 ......也许是因为
如何在“PWD”文件中加密密码以将其安全地保存在连接信息文件中?谢谢!
更新:
我已经意识到,即使我写了类似“PWD”=&gt; MD5(“1234”)的东西,我也会在MD5中发送它,但仍然将它作为纯文本保存在我的配置文件中,ROFL!
所以我认为我需要这样的东西:
$ connectionInfo = array(“Database”=&gt;“TDB”,“UID”=&gt;“TEST”,“PWD”=&gt;“81dc9bdb52d04dc20036dbd8313ed055”);
其中81dc9bdb52d04dc20036dbd8313ed055 - '1234'密码的MD5哈希