2013-12-20 52 views
3

我打算在我的网站上存储礼品卡代码,人们可以在某些商店购买礼品卡代码,然后就可以使用这些代码在我的网站上购买东西,现在我正在计划以下进程,使这些代码更难解密:在数据库中存储数据的安全方式

月1日,我会先用str_rot13由13个地方每一封信转移 2日我将使用str_replace函数把每2到1和每1到2 3我会使用脚本或任何我想要的加密方法对它进行加密 最后,我会将加密的每个字母都换成13或任何我想要的。

我不是很先进,当涉及到安全性的PHP所以这就是为什么我要求您的意见,如果这可能是一种很好的方式来存储数据或如果有任何其他方式来看看。

我也知道,如何防止黑客解密我存入我的数据库的任何信息,并没有万无一失的计划或策略,但我至少希望尽可能让他们不易解码。

注:我上面使用的方法只是我可能做的一个例子。

回答

2

我会建议你使用哈希来达到这个目的(和salting一样),就像你使用密码一样。

您可以使用salt将礼物代码散列在数据库中,并将salt和散列存储在数据库中。

稍后,当用户使用礼物代码时,只需使用相同的方法重新哈希它并检查数据库中是否存在这样的散列。如果是这样,这意味着礼品代码是正确的,并且您只需相应地奖励用户。

在我看来,散列比加密更安全。但是,如果您希望为此使用加密,则可以使用以下问题的答案中的PHP类:Two-way encryption: I need to store passwords that can be retrieved

0

如果您使用的是数据库,则不需要实际提供任何敏感信息用户。

礼品卡的一种可能的流程:

  1. 每个卡有卡,纸张等上写了一个唯一的编号(可能的方式,是很难猜测随机生成)...

  2. 在结账时,店员要么使用您提供的服务来“注册”卡的价值。或者它是预先确定的,在这种情况下卡可以分组。 (例如10美元,20美元等),但仍应以某种方式启动以打击欺诈。

  3. 然后将此卡交给客户,然后可以在结帐时使用该代码以接收与唯一号码关联的值。

这些卡片的安全和隐私权将交由您分发给您的商店。您需要一种方法来知道哪些商店有哪些等等,以防偷窃或其他严重问题。

这样用户无法猜测数字(很容易),因为它会有1.购买和2.不被使用已经。

虽然哈希和加密如果正确完成可能是安全的,但给用户关于内部的潜在信息并没有真正意义。即使他们很难得到。

相关问题