随机生成自我验证“优惠券”代码

时间:2015-01-27 04:00:50

标签: php validation e-commerce md5

这是用例;我正在为私人活动开发电子商务门票销售网站。

此活动希望发送一个特殊的一次性使用代码,必须输入该代码才能购买该机票。这些将打印在邀请的物理副本上,是唯一的交付方式。

仅当代码验证时才会显示产品(票证)表单。我将设置一个会话变量,并允许购买。在验证购买后,我会将代码存储在数据库中,以确保它不会再次兑换。

限制:

  1. 我们不知道需要多少代码(2000 max
  2. 我们可能需要动态生成更多代码
  3. 代码的长度不应过于繁琐,字符串为4-12个字母数字
  4. 我想找到一种聪明的方法来创造自我验证"代码,通过使用秘密盐,哈希或一些漂亮的逻辑,确定给定的代码是否有效;那么,提供一些生成可以使用的新有效代码的方法吗?

    我正在寻找一个生成和验证一系列代码的简单示例,因为我不确定如何解决这个问题。

    谢谢!

1 个答案:

答案 0 :(得分:1)

我认为可以做到的一种方法是以一种方式生成每个代码,使得少数所选字符的值返回7的倍数(比方说)。 更好的是,1/3的字符总和必须是7的倍数,其他1/3的字符总和必须(例如)大于x,其中x是定义的值。

只是一个想法。