Php 编码点火器中的MD5 varchar到varbinary

Php 编码点火器中的MD5 varchar到varbinary,php,sql,sql-server,codeigniter,Php,Sql,Sql Server,Codeigniter,我的Codeigniter有问题。 我正在尝试使用md5加密密码,然后将密码保存在varbinary字段中 $password = md5($this->input->post('password', TRUE)); 我看到的问题是: 不允许[Microsoft][SQL Server Native Client 11.0][SQL Server]将数据类型varchar隐式转换为varbinary。使用CONVERT函数运行此查询 我做了很多研究,问题如下 php中的加密密

我的Codeigniter有问题。 我正在尝试使用md5加密密码,然后将密码保存在varbinary字段中

$password    = md5($this->input->post('password', TRUE));
我看到的问题是:

不允许[Microsoft][SQL Server Native Client 11.0][SQL Server]将数据类型varchar隐式转换为varbinary。使用CONVERT函数运行此查询

我做了很多研究,问题如下

php中的加密密码:

c832591f90dced4b7c11e7dbcf2e5a68
sql查询中的加密密码:

SELECT HashBytes('MD5','password')
result: 0x5F4DCC3B5AA765D61D8327DEB882CF99
然后尝试执行以下操作以将MD5字符串保存在varbinary列中

$password1    = md5($this->input->post('password', TRUE));
$password2    = strtoupper($password1);
$password     = '0x'.$password2

但很明显,它没有起作用。因为我可以在SQL SERVER 2008的varbinary列中保存MD5字符串,所以尝试将其更改为$password=MD5($this->input->post('password');然后回音看看结果是什么我已经做过了。看上面,我把加密字符串放在上面,如图所示