【发布时间】:2012-11-13 16:06:24
【问题描述】:
我正在构建一个使用两个主要元素的应用程序。
first 是一个段,它生成一个带有某个哈希键(例如 5c2a4b5773500a0417f6e6d8299776d9cba7ead9)的条目并将其插入到表中。
second 是一个被共享的 url(例如http://myapp.com/a/5c2a4b5773500a0417f6e6d8299776d9cba7ead9),然后返回到服务器,对上述表进行查找,并执行某种预定义的操作,以及记录传入流量。
这是我的问题:
使用 40 个字符长度的字符串键进行查找似乎非常耗费资源。 加密数据库中行的 ID 是否更好,从而创建一个密钥,然后 解密 'hash'-key 使用 PHP em> 并在数据库返回服务器后对其进行单行查找? (永远不需要将哈希/加密密钥存储在数据库中)
陷阱在哪里?我是否使用了正确的术语?有没有更好的方法来做到这一点?
【问题讨论】:
-
使用 40 个字符(在索引列上)进行查找不会占用大量资源。
-
我不知道你要解决的问题,你能给我们更具体的吗?
-
对 ID (int) 进行数据库查找,必须比字符串查找快。在看到索引表列是有效的之后,我是创建一个哈希,还是我加密需要稍后使用 PHP 解密它的行 ID。此外,散列密钥是一种方式,加密是可逆的......所以也许在路上我可能希望密钥具有加密值......?
-
你让这变得比它需要的复杂得多。停止使用 PHP 来处理繁重的数据!这正是数据库的用途!
-
可能他正在尝试开发一个简单的用户注册或密码重置,但他不会告诉我们,因为这是最高机密。
标签: php mysql performance encryption hash