首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >要求在安全代码中使用不同的字符

要求在安全代码中使用不同的字符
EN

Stack Overflow用户
提问于 2012-01-07 23:59:21
回答 3查看 127关注 0票数 2

示例安全代码:

代码语言:javascript
运行
复制
a35sfj9ksdf

我如何向用户询问他们的安全代码的几个字符(例如第一个、第四个和第九个),然后检查这些字符?主要的困难在于我如何以加密的形式存储安全代码-如果我单独存储每个字符,那么加密将非常容易破解。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-08 00:22:10

这里和How to store and verify digits chosen at random from a PIN/Password都没有描述的一种可能性是:

  • 创建与安全代码长度相同的随机盐(此处为11)
  • 使用用户
  • 为安全代码的每个字符存储盐,使用安全代码中的字符替换盐的相应字符,并对其进行安全哈希
  • 使用用户

< code >F210存储这些哈希

现在,您必须为长度为n的安全代码存储可管理数量的n+1字段,并且仍然可以验证单个(位置,字符)元组

票数 1
EN

Stack Overflow用户

发布于 2012-01-08 00:25:24

使用substr()怎么样?

代码语言:javascript
运行
复制
substr("a35sfj9ksdf", 0, 1);

这将返回“a”,即第一个字符

代码语言:javascript
运行
复制
substr("a35sfj9ksdf", 4, 1);

这将返回4,即第5个字符

所以类似于请输入$n字符并使用

代码语言:javascript
运行
复制
substr("a35sfj9ksdf", $n-1, 1);
票数 0
EN

Stack Overflow用户

发布于 2012-01-08 03:26:09

你可以遵循这些步骤,

  1. 将所有需要的字符存储在数组中
  2. 生成n(用户代码的长度)随机数,每个数字将表示数组中的一个字符。
  3. 然后将新生成的字符连接成字符串
  4. 使用会话存储字符串,当用户提出要求时,只需将用户代码与会话

<>G29进行匹配

您还可以使用类似的方法创建一个简单的captcha服务

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8770954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档