示例安全码:
a35sfj9ksdf
如何向用户询问其安全代码的多个字符(例如,第一个,第四个和第九个),然后检查这些字符?主要的困难在于如何以加密形式存储安全代码 - 如果我要单独存储每个字符,那么加密将非常容易打破。
答案 0 :(得分:1)
此处和How to store and verify digits chosen at random from a PIN/Password都未描述的可能性是:
现在您必须为长度为n的安全代码存储可管理数量的n + 1个字段,并且仍然可以验证单个(位置,字符)元组
答案 1 :(得分:0)
使用substr()?
substr("a35sfj9ksdf", 0, 1);
那会返回'a',第一个字符
substr("a35sfj9ksdf", 4, 1);
这将返回4,第5个字符
请输入$ n字符并使用
substr("a35sfj9ksdf", $n-1, 1);
答案 2 :(得分:0)
您可以按照这些步骤进行操作,
将所有需要的字符存储在数组中
生成n(用户代码的长度)随机数的数量,其中每个数字代表数组的字符。
然后将新生成的字符连接成一个字符串
使用会话存储字符串,当用户询问只是将用户代码与会话匹配时
您也可以使用类似的方式制作简单的验证码服务