问题标签 [luhn]
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.
javascript - 信用卡的客户端验证
在用户点击提交之前,是否有人有一个库或 JavaScript 片段来验证信用卡的校验位?
algorithm - 消息代码验证算法
如果你以前读过这个帖子——忘记我写的一切,我写它的时候一定是喝醉了。我重新开始:
我目前正在做一个项目,我们将使用某种算法来验证用户输入。需要考虑三个方面;
客户 - 浏览我们的网页
公司 - 我们,处理客户的请求
第 3 方公司 - 处理客户消息
在我们的网页上,我们将向客户展示有关产品的一些信息。如果他/她想了解有关产品的更多信息,他必须联系第 3 方公司并说明产品代码(本身不是唯一的,但也不常见)。作为回报,客户将收到来自第三方公司的一些其他代码,他应该在我们的网页上输入这些代码,我们将在其中验证代码以供批准。
如果我们公司与第三方公司没有任何互动,那就最好不过了。纯加密是不可能的,因为它会生成一个太长的字符串。我们通过 SMS 进行此操作,因此代码必须简短。
到目前为止我想出了什么:
对于每件产品,我都会在 base 16 (0-f) 中生成一个有点独特的代码(它是否唯一并不重要)。想要了解有关产品的更多信息的客户向第三方公司发送一条短信,说明产品代码。作为回报,客户端收到相同的代码,但数字被乘以(可能乘以 2)并转换为基数 36。除此之外,最后一个字符被添加到代码中,即控制号,以使代码对 Luhn 有效以 36 为基数的算法。用户输入收到的代码,我们公司在服务器端根据产品代码验证它(根据 Luhn 验证,除以 2 并切换回基数 16)。
这听起来相当安全和适当吗?当其中两个不需要通信时,它是由三方发送消息的有效方式吗?
很抱歉编辑,但当我写第一篇文章时,我的想法一定在别处。
c# - 有谁知道哪里有可以生成示例信用卡号的 c# 代码或 dll
对于我们正在处理的应用程序,我需要生成通过 Luhn 算法但也是唯一的示例信用卡号,因此我们不能使用示例信用卡号。
我们需要能够一次生成大约 300 个卡号,理想情况下,我可以在生成输入数据时做到这一点。
非常感谢
c# - 卢恩校验位
我似乎无法弄清楚我的校验码有什么问题!
有时,它会产生 2 个长度校验位值
例子
所有生成的数字都是有效的,可以在http://www.ee.unb.ca/cgi-bin/tervo/luhn.pl?N=127753224800013查看
php - PHP 客户端 PIN 安全性
我目前正在开发一个系统,该系统具有一个功能,客户可以通过提供 PIN“号码”来查看他们的购买/续订/等详细信息。
由于我们所针对的客户类型,使用 PIN 代替登录信息。PIN 印在发送给他们的文件上。
他们提供 PIN 时显示的视图不会显示信用卡等高度敏感的信息,但会显示产品名称、类型、价格、条形码、维修等不太敏感的信息。
有问题的问题是PIN。我选择使用随机的 5 个字符 PIN(0-9,az AZ) - 区分大小写。我将删除一些同形文字('I'、'1'、'l'、'0'、'O'、'rn'、'vv'),因此实际的组合数量实际上更少。
我对此有几个问题:
- 这种做法是否可以接受?
- 我是否应该编写一个锁定机制来“禁止”来自具有大量失败尝试的 IP 的流量?*
- 我应该编写一个错误检查系统(类似于 Luhn 的信用卡号码算法)吗?
- *我应该使用验证码系统吗?
javascript - 从卡号识别卡类型
我有一系列看起来像这样的卡片类型
但是我希望能够根据输入的卡号找到卡类型。例如,如果他们从下拉列表中选择他们的卡类型,即签证,那么信用卡号应该以 4 开头,否则当他们提交表格时,应该显示某种消息说这是(无论是什么卡,请更换卡类型)。任何帮助,将不胜感激。
卡号文本字段的 ID 是 CardNumber。我不确定可能需要什么其他信息,我有一个名为 Validate 的函数来验证表单的其余部分,还有一个名为 Calculate 的函数来进行 luhn 检查。
php - 插入困难
我正在使用 mysql/php。
我的桌子看起来像
我正在生成代码为的优惠券代码:
- 1 个随机数(例如 64)
- 1 个固定数字(例如 352)
- id 字段的值 (1,2,3,4,5...)
- 1 个校验位(luhn 算法)。
使用 php 执行此操作的明显问题是我必须进行选择,获取下一个自动增量值,计算代码,插入,此时可能已插入另一行。
相反,我想做的是,
去做insert into vouchers (voucher) value('64352')
并让它产生我的其余部分。
我怎样才能做到这一点?功能/触发器?
javascript - 在每个奇数和偶数位置分块一个字符串
我对javascript一无所知。
假设字符串“3005600008000”,我需要找到一种方法将奇数位置的所有数字乘以 2,偶数位置的数字乘以 1。
我写的这个伪代码输出(我认为)TRUE 为奇数(即“0”),
我不确定这是对的:我不相信它会在奇数(甚至后来)位置对字符串进行分块/拆分。
我该怎么做?你能提供一些提示吗?
我的目标是在网页中实现智能卡 ID 号的验证例程。
我试图实现的逻辑如下:
· 1) 从左边开始,将奇数位的所有数字乘以 2,偶数位的数字乘以 1。
· 2) 如果一位数乘以 2 的结果是两位数(例如“7 x 2 = 14”),则将结果的位数相加以产生一个新的一位数结果(“ 1+4=5")。
· 3) 将所有个位数的结果加在一起。
· 4) 校验位是您必须添加到此结果中的数量,才能达到下一个最高的十倍数。例如,如果第 3 步中的和是 22,要达到 10 的下一个最大倍数(即 30),您必须将 8 加到 22。因此校验位是 8。
这就是整个想法。Google 搜索智能卡 ID 验证没有返回任何结果,我开始认为在 Javascript 中执行此操作有点矫枉过正......
欢迎任何输入。