问题标签 [one-time-password]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 生成密码重置密码
我正在做一个允许用户重置密码的模块。我注意到大多数网站如何提供确认链接,其中包含具有唯一哈希的查询字符串。
我的问题是:每次同一个用户请求忘记密码时,如何生成这个唯一的哈希?我应该将此哈希存储在数据库中并稍后将其用于验证吗?会安全吗?或者我应该创建某种生成一次性密码的算法?如何生成 OTP?
.net - 如何使用 system.security.cryptography 生成可以在客户端进行身份验证的 OTP?
任何人都知道我在哪里可以找到带有 system.security.cryptography 命名空间的示例代码——或者开发人员可以遵循的说明?
目的是为 asp.net 网站添加双重身份验证。在网站上,我想要求用户输入密码(类似于他们从钥匙扣获得密码)。在客户端,我想提供一个生成正确密码的 vb.net windows.forms 程序。
我想在小范围内使用 system.security.cryptography 命名空间来做到这一点。我正在寻找我不想弄乱设备或购买身份验证服务器设备的示例代码。
那里的大多数算法都需要高级数学学位,或者适用于其他平台,例如 Linux 或 PHP。我正在寻找.net 等价物。
cryptography - OTP/XOR 破解两个具有相同密钥的密文
如何破解两次使用相同密钥的两个密文?例如,plaintext1
使用 key "abcdefg"
,并plaintext2
使用 key "abcdefg"
。
我知道这ciphertext2 ^ ciphertext1
等于plaintext1 ^ plaintext2
。破解plaintext1 ^ plaintext2
的方法与破解“书本密码”的方法相同(有时也称为“运行密钥密码”,虽然运行密钥密码与书本密码不同,对吧?)
我知道我应该使用字典攻击,但我不确定我应该使用哪个字典/单词列表,以及用于破解它的算法。谁能给我一个链接,或者一些显示如何破解它的代码?
我是密码学的新手,我只是想玩这个。谁能帮我吗?谢谢。
c# - C# 中基于 HMAC 的一次性密码 (RFC 4226 - HOTP)
我正试图围绕生成一个 6 位/字符不区分大小写的一次性到期密码。
我的来源是https://www.rfc-editor.org/rfc/rfc4226#section-5
首先定义参数
然后我们有了生成 HOTP 的算法
然后,我们将截断定义为
然后提供了一个 6 位数 HOTP 的示例
我在尝试将其转换为有用的 C# 代码以生成一次性密码时不知所措。我已经有用于创建过期 HMAC 的代码,如下所示:
我只是不确定如何从上述算法中建议的 6 位数字。
cryptography - 用于加密的完全随机的一次性填充
我需要创建一个一次性密码本来加密一些数据(几 KB 大小)。我应该如何生成这个一次性填充以避免与基本随机数生成相关的所有伪随机问题,例如rand()
?
是否有现有的、受信任的工具或库可供我使用?
security - 锁定政策和一次性密码
我使用RFC 4226为我的网站实施了一次性密码系统。此密码通过 SMS 发送到移动设备。用户只能在移动设备上接收密码,密码在 15 分钟后过期。
用户还拥有通常使用的标准字母数字“主密码”。我已经实施了 3 次失败锁定工作流程。此锁定持续 15 分钟。
我的问题是从安全的角度来看,只锁定“主密码”是否可以接受?如果用户使用一次性密码功能,我应该允许用户绕过锁定策略吗?我是否打开了任何类型的安全漏洞?
linux - 家庭服务器的廉价双因素身份验证?
我正在考虑向我的小型 linux 专用服务器家庭网络添加某种双因素身份验证。我可能最多需要 10 个物理设备。有没有公司会以相对便宜的价格提供这么小的订单?
谢谢,丹尼尔
PS这主要是为了我自己搭建系统的乐趣;我并没有声称运行高风险机器。
.net - 如何在不存储数据的情况下生成限时密钥或密码
这是我的场景...
用户客户端应用程序向 Web 服务发出访问请求。
Web 服务以仅在 X 秒/分钟内有效的“密钥”响应(时间可以是可变的,或者至少可以在我的 Web 服务中定义)
用户客户端应用程序立即使用该密钥发出进一步的请求。
Web 服务检查密钥是否仍然有效,如果它继续请求,则相应地响应。
我需要在不实际将密钥存储在数据库中的情况下执行此操作,所以我猜测用于生成密钥(使用盐)的哈希应该以某种方式基于时间。
我想我真正要问的是最好的方法是什么。
语言:VB.Net
jakarta-ee - J2EE Spring 安全一次性密码
我必须实施一次性密码。对于单一的请愿书,尽管互联网上有大量的信息资源,我仍然有疑问。
有可能在不使用数据库的情况下使其在系统重新启动后仍然存在吗?
c++ - 使用当前时间和用户名 + 密码生成唯一的密码(6 位数字)?
我需要使用当前时间,因为稍后,另一个程序需要知道我何时生成了 pin 以及用户名和密码是什么。
概括:
用户名+密码+当前时间=密码[6位]
反向,生成的 pin,我需要知道哪个特定的,并检查它是否已经过了 1 分钟。
我不是要求直接代码,但我需要知道最好的,而不是说最好的,好的方法/算法。谢谢(顺便说一句,我是cpp初学者)
编辑:
我很抱歉没有把事情说清楚。实际上,我不需要 OTP,生成 pin 后,其他程序需要像这样运行: validate {username} {password} {pin}