【发布时间】:2013-10-28 10:27:53
【问题描述】:
我的想法是,我将创建一个接受用户促销代码的页面。当用户点击“提交”时,代码将调用数据库以确保促销代码确实有效。我计划在我的数据库中有一个“促销代码”表,其中包含可用促销代码的列表和一个名为“HasBeenClaimed”之类的变量。我对加密/等不是很熟悉。但我想我想不将实际的明文促销代码存储在此表中,而是像加密/散列/等一样存储。它的版本。因此,如果有人恶意获取表数据的访问权限,他们将无法使用这个散列版本的促销代码做任何事情。
无论如何,从功能上讲,用户提交他们的促销代码,代码会执行一些操作,例如获取其哈希值并将其与数据库中的内容进行比较。如果它匹配数据库中的一条记录并且“HasBeenClaimed”是false,他们会继续促销。
我说的是纯伪代码,我的术语可能不正确。但我想你明白我想要什么的基本概念。
我的促销活动价值不高 - 它们是“前两个月减半”(相当于两个月内每月减 25 美元)。仅供参考,我创建了一个 PayPal 按钮,用于反映此促销活动,如果促销代码确实有效,则代码将在网页上使用该按钮。
问题我不知道从哪里开始,也不知道“促销代码”的常见最佳做法。请就在现有 ASP.NET 网站中实现促销代码功能的常见最佳实践提供建议 - 任何建议都会很棒。
【问题讨论】:
-
除非代码真的很长,否则散列不会为您带来任何好处。
标签: c# asp.net encryption hash promotion-code