maked / hashed url param

时间:2009-08-03 07:53:53

标签: php codeigniter php4

我创建了一个测验应用,通过电子邮件向用户发送结果。我想在网址中包含一个链接,用户可以点击该链接并查看其结果的细分我希望网址看起来像这样:

http://www.mysite.com/quiz/view/32k4k2u4vxcv88xcv8cv0x98c9v7c7v8887cv

显然一个不能只是散列容易逆向工程的id cos,这是什么是下一个最好,最简单的方法来记住我必须执行一个sql查询来比较哈希值?

2 个答案:

答案 0 :(得分:1)

你可以为每个实例分配一个GUID,这是不可能进行逆向工程的(因为它不依赖于记录),并且是唯一的。你所拥有的东西看起来有点像GUID(即它看起来是随机的,不可读)。

答案 1 :(得分:1)

您可以使用SALT获得更加崇敬的半导体感知哈希值。

define("SALT", "some random string .fsddf09asf9sd0-f9sd0-f9sd-0f9s0a-9f-");    
$hash = md5(SALT.$user_id);

稍后,当用户尝试访问url时,首先使用SALT再次生成哈希值,并与提供的url中的哈希值进行比较。

请记住md5已经被打破了算法。使用SHA hash algos中的一些。

此致