php - 保存并从 sql 获取哈希值

标签 php mysql

首先,我创建一个哈希码并将其保存在我的数据库中:

$key = md5(uniqid(rand(), true));
$update = mysqli_query($conn, "UPDATE my_table SET md5key = MD5('$key') WHERE id = 1");

但是$key与数据库中的代码不匹配?

$key = e114e5bd4c8551d4e46a636d0c087b0e 数据库 = c00855d30f0c2c2f527b95f8be86a8b3

我在数据库中的字段有以下选项:

md5key varchar(255) utf8_general_ci

这里出了什么问题?

最佳答案

我认为这是因为您的 $key 变量已经有 MD5 哈希值,但是当您进行更新查询时,您再次使用 MD5 函数,因此插入数据库中的值会有所不同。

只需这样做:

$key = md5(uniqid(rand(), true));
$update = mysqli_query($conn, "UPDATE my_table SET md5key = '$key' WHERE id = 1");

关于php - 保存并从 sql 获取哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39988154/

相关文章:

php - 当 id 在 php 中包含字符串时如何设置 DIV 样式?

javascript - 具有许多AJAX调用性能的网页

php - 基于登录状态的条件显示链接 PHP

mysql - 3 个 SQL 语句的问题

mysql - 根据另一个表的条件在一个 MySQL 表中查找条目

php - 如何解决active record $this->db->insert()实现一条 ‘INSERT IGNORE INTO’语句?

php - 使用 mysql NOW() 函数更新数据库中的行在 PHP 查询中不起作用

php - 知道如何实现吗?

php - PHP警告:mysqli_num_rows()和数据库创建

c# - 使用 mySQL 数据库在 C# 中实现 ElasticSearch