我有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字符串