MySQL 哈希数据库
我目前正在尝试创建一个保存哈希值(例如 MD5 哈希值)的 mySQL 数据库。我正在使用 PHPmyAdmin 版本 3.3.9 和 MySQL 客户端版本:4.1.22
我已经创建了一个名为 hashes 的数据库。我是 mySQL 新手,那么如何添加包含哈希数据的表?
I'm currently trying to create a mySQL database that holds hashes such as MD5 hashes. I'm using PHPmyAdmin version 3.3.9, and MySQL client version: 4.1.22
I already created a database named hashes. I'm new to mySQL so how can I add a table with data for a hash?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
哈希列应该是
CHAR(32)
,因为这是哈希的长度:如果您想从给定用户输入的表中进行选择:
您可以在
hash
上添加一个键> 以获得更好的性能。Hash column should be a
CHAR(32)
as that is the length of the hash:If you want to select from the table given user input:
You can add a key on
hash
for better performance.哈希可以存储为二进制数据或(更方便)存储为文本。 PHP MD5 函数默认输出 32 个字符的字符串,因此您需要一个具有可容纳 32 个字符的字符串的字段的表。就这样。 :)
A hash can be stored as binary data or (more convenient) as text. The PHP MD5 function by default outputs a string of 32 characters, so you will need a table with a field that can hold a string of 32 character. That's all. :)
看看这里:
http://dev.mysql.com/doc/refman/5.1 /en/create-table.html
当然,您可以使用 phpMyAdmin 来完成此操作,但最好了解实际的 SQL。
Take a look here:
http://dev.mysql.com/doc/refman/5.1/en/create-table.html
You can do it using phpMyAdmin of course but it is better to understand the actual SQL.
如果打开数据库(单击左侧栏中的名称),将会出现“在数据库 dbname 上创建新表”部分。输入您想要的表的名称(例如哈希)以及您想要的字段数。
这是我们需要更多信息的地方:如果您只想存储哈希值和单独的哈希值,那么您将需要两个字段:一个唯一的哈希 ID(整数类型,auto_increment 设置为 true)和一个 32 个字符的文本字段。我有点不确定这个的实用性,所以如果您发布更多信息,我们也许能够帮助您更好地实现目标?
编辑:
在这种情况下,您将需要三个字段:哈希 ID(表中每个条目的唯一引用)、哈希以及与其关联的明文。将 hash id 设置为整数,并将 auto_increment 设置为 true。将哈希字段设置为长度为 32 的 varchar,并将明文字段设置为“text”。
If you open the database (click it's name in the left hand column), there will be a "Create new table on database dbname" section. Enter the name of the table you want (e.g. hashes), and the number of fields you want.
This is where we need a bit more information: if you just want to store hashes and hashes alone then you'll need two fields: a unique hash ID (of type integer, with auto_increment set to true) and a 32 character text field. I'm a little unsure of the utility of this, so if you post a bit more information we might be able to help you out with what you're trying to achieve a little better?
Edit:
In that case, you'll need three fields: a hash id (a unique reference for each entry in the table), the hash, and the plaintext to which it correlates. Set the hash id to be an integer, with auto_increment set to true. Set the field for the hash to be varchar of length 32, and the plaintext field to 'text'.