所以我决定在我的用户表和我的登录页面上哈希密码字段,我需要检查以确保他们输入了正确的密码。所以在这里我从表中获取密码:
$stmt = sqlsrv_query( $conn, "SELECT * FROM Users where Username='".$user."'");
$passhash = "";
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
$passhash = $row['PwHash'];
}
这很好用。但是,当我尝试散列他们输入的密码时,如下所示:
$stmt = sqlsrv_query( $conn, "select HASHBYTES('SHA2_512', '".$pw."') as PwHash");
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
$typedpasshash = $row['PwHash'];
}
我收到以下错误:
致命错误:第39行的C:\ xampp \ htdocs \ login.php中的sql_display_size无效
指向sqlsrv_fetch_array
。我已经找到了一些尝试处理它的方法,但没有任何作用。我表中的PwHash
字段是binary(64)
数据类型。有什么想法吗?