问题标签 [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.

0 投票
2 回答
1688 浏览

bash - 如何生成 Luhn 序列数并将其保存在 linux 中?

我正在生成(19位)序列号,如下所示:

然后使用 luhn 检查器在线验证它们。而不是做一个两步的方法,我怎么能像一个bash脚本一样一次性完成,并且只输出有效的数字到文件?

0 投票
1 回答
621 浏览

algorithm - 一个符号校验和的算法

我迫切希望找到一种算法来创建一个最多两个字符长的校验和,并且可以识别输入序列中字符的混淆。在测试不同的算法时,例如 Luhn、CRC24 或 CRC32,校验和总是比两个字符长。如果我将校验和减少到两个甚至一个字符,则不再识别所有换向。

你们中有人知道满足我需求的算法吗?我已经有了一个可以继续搜索的名字。我将非常感谢您的帮助。

0 投票
1 回答
1268 浏览

haskell - Haskell 中的 Luhn 算法

我想我已经在 Haskell 中正确计算了Luhn 算法:

例如,

现在我必须创建一个新函数sigLuhn,这样,给定一个整数nluhn n == True,然后sigLuhn n给出一个数字(或多个数字),这样如果我们将数字添加到最后一个 to n,那么新数字也可以验证 Luhn 算法;如果luhn n == False函数给出错误。例如,

因为如果我们n = 49927398716打电话

8的最小整数0。我的想法是下一个:

该代码没有给出错误,但sigLuhn此代码不正确。简而言之,如果我们假设功能luhn是好的,你能帮我写sigLuhn正确吗?非常感谢。

0 投票
0 回答
447 浏览

crystal-reports - 水晶报表中的 Mod10 公式

在另一个论坛上,我找到了这个公式,它似乎有效,除了我不断收到 2 个不同的错误

第一个错误
我得到“这里需要一个字符串”错误。我在它所说的代码的第 8 行(计算空白行)上收到错误

第二个错误
如果我添加 totext 并让它说

它会毫无错误地保存,但是当我尝试将其放入报告中时,它会给我一个“字符串是非数字”错误。当我单击确定时,它显示代码中的错误位于第 18 行(计算空白行),它说

我觉得我陷入了无法解决的循环......我做错了什么?

谢谢!

整个代码

0 投票
1 回答
457 浏览

algorithm - 为什么Luhn算法乘以2?

我对 Luhn 算法有疑问。用于错误检测和校验和数字的 luhn 算法 (mod 10)。例如签证、信用卡等数字。

例如我们有数字:Digits 1 2 3 4 5 6 7 8 9 3

第 1 步:从最右边的第二个数字开始,将备用数字的值乘以 2。示例:数字 1 2 3 4 5 6 7 8 9 3 乘数 X2 X2 X2 X2 X2

Step2:将上述产品的所有单个数字与原始数字中的未加倍数字相加。如果更多 10 则加或减 9。数字。

例子:

步骤3:若总模10等于0,则根据LUHN公式该数有效;否则无效。例子。40 mod 10 = 0 所以有效,如果不是 0 那么无效。

问题是,为什么在步骤 2 中使用乘以 2?什么原因?(请提供链接参考或论文)。谢谢

0 投票
0 回答
482 浏览

c++ - C++ 通过 LUHN 公式验证信用卡(循环和 SumToken 错误)

我曾经使用 C# 进行编码,目前正在 UOW 学习 C++。我应该通过模数 10(LUHN 公式)验证信用卡是否有效但是我没有设法得到讲师显示/要求的正确答案。以下是我为此作业所做的 C++ 工作。多多指教,加油。

问题 1 - 循环错误/无限问题 2 - 我得到的 4 个令牌(数字)的总和是不正确的,我相信。问题 3 - 任何改进此编码的建议(无需更改太多) - 只是为了提高效率。

0 投票
2 回答
244 浏览

java - Java 新手,在制作 Luhn 算法时遇到问题

提示要求我在下面拥有公共静态并且只使用递归。这是我使用 Java 的第一周,所以我的知识基础非常低。我在网上看到了一些 Luhn 算法的代码,但似乎都没有使用布尔值作为第二个参数。

基本上我需要创建一个 Luhn 算法,它取每个值(从右到左),将第二个值加倍(布尔值用于确定数字是否会加倍),然后将所有值加在一起。例如)。System.out.println(sumLuhnDigits(7992739871005L, false));

将返回 72

我遇到的问题是“长”类型。

Java 告诉我我需要在将 count 变量设置为等于 (number%10).. 之前启动它。我认为这是因为我将它设置为 += 并且它需要具有值才能这样做。但是,在顶部将其设置为 0 会与我试图制作的计数器混淆。

当我尝试返回计数时,语法也不喜欢,说它不是“长”类型。看来我目前也陷入了 stackoverflow 错误。所以我需要打破递归。

0 投票
0 回答
1005 浏览

c# - Luhn 算法不适用于 13 位 Visa 卡

我正在使用 Visa 信用卡生成器,但没有看到以下问题:我的代码似乎适用于 16 位数的卡号,但是,它似乎不适用于 13 位数的卡,因为生成的卡在线测试人员和我的应用程序上的数字均无效。

代码:

我为复制整个代码道歉,但我认为这会让事情更容易理解。

我从http://www.freeformatter.com/credit-card-number-generator-validator.html遵循的算法:

  • 删除数字的最后一位数字。最后一位是我们要检查的
  • 颠倒数字
  • 将奇数位(1、3、5 等)的数字乘以 2,然后将所有大于 9 的结果减去 9
  • 将所有数字加在一起
  • 校验位(卡的最后一个数字)是您需要添加以获得 10 的倍数(模 10)的金额

我的代码生成的示例卡号:

  • 16 位:4145422641287432 - 有效
  • 13 位:4354735186403 - 无效(添加校验位之前的总和为 47,这意味着 3 将是校验位,导致总和为 50 => 50%10=0)

我在这里到底做错了什么?

0 投票
2 回答
208 浏览

javascript - AEMO 校验和 Ruby 代码

我不会编写 Ruby 代码,但我发现这个 ruby​​ 代码可以计算 AEMO NMI 的校验和

有人可以帮我解释这条线是什么意思吗?

我尝试将上面的代码转换为 VBA for excel。

对于“4103738516”的输入将为您提供 8 “4102030716” ==> 2 “QFFF0000LV” ==> 7

在本文档的第 40 页中有 JavaScript 代码来计算它,但我无法理解代码。

https://www.aemo.com.au/-/media/Files/PDF/0610-0008-pdf.pdf

谢谢

0 投票
2 回答
353 浏览

checksum - 增强Luhn算法的实现?

有谁知道用于检查支付卡上的模数 10“双加双”校验位的增强或增强 Luhn 公式的任何实现?

本文建议进行增强:http: //d.researchbib.com/f/6nnJcwp21wYzAioF9xo2AmY3OupTIlpl9XqJk5ZwNkZl9JZxx3ZwNkZmpmYaOxMt.pdf

增强的 Luhn 检查是否有实际用途?