MySQL 哈希数据库

标签 mysql database hash phpmyadmin

我目前正在尝试创建一个保存哈希值(例如 MD5 哈希值)的 mySQL 数据库。我使用的是 PHPmyAdmin 版本 3.3.9,MySQL 客户端版本:4.1.22

我已经创建了一个名为 hashes 的数据库。我是 mySQL 新手,如何添加包含哈希数据的表?

最佳答案

哈希列应该是 CHAR(32),因为这是哈希的长度:

CREATE TABLE `hashes` (
    `id` INT NOT NULL AUTO_INCREMENT, 
    `hash` CHAR(32), 
    PRIMARY KEY (`id`)
);

mysql> describe hashes;
+-------+----------+------+-----+---------+----------------+
| Field | Type     | Null | Key | Default | Extra          |
+-------+----------+------+-----+---------+----------------+
| id    | int(11)  | NO   | PRI | NULL    | auto_increment |
| hash  | char(32) | YES  |     | NULL    |                |
+-------+----------+------+-----+---------+----------------+

如果您想从给定用户输入的表格中进行选择:

-- Insert sample data:
mysql> INSERT INTO `hashes` VALUES (null, MD5('hello'));
Query OK, 1 row affected (0.00 sec)

-- Test retrieval:
mysql> SELECT * FROM `hashes` WHERE `hash` = MD5('hello');
+----+----------------------------------+
| id | hash                             |
+----+----------------------------------+
|  1 | 5d41402abc4b2a76b9719d911017c592 |
+----+----------------------------------+
1 row in set (0.00 sec)

您可以在hash上添加键以获得更好的性能。

关于MySQL 哈希数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4890793/

相关文章:

c - 我应该使用什么哈希从一组字符串中生成随机值

php - 使用 PHP mysql_connect 函数时绑定(bind)到特定的 ip 地址

c# - 这个使用 EF 的数据库查询是否正确?

mysql - 选择查询未返回正确的值

database - 是否可以从原始字符串和加密字符串中找出 key ?

C# 和 Access 数据库通过名称搜索

php - 在 MySQL 中为 Symfony 重建模型而不丢失数据

php - 用于数据库插入的最安全的现代过滤器?

passwords - 多个密码哈希

c - 将 32 位值快速散列到 0 到 254(含)之间