诸如此类的新闻报道表明上述数字可能已经作为编程错误而出现。
A man in the United States popped out
to his local petrol station to buy a
pack of cigarettes - only to find his
card charged $23,148,855,308,184,500.
That is $23 quadrillion (£14
quadrillion) - many times the US
national debt.*
在十六进制中它是$ 523DC2E199EBB4,一见钟情似乎并不十分有趣。
任何人都有任何关于编程错误会导致这种情况的想法吗?
-
无聊的加油站出席?
-
当我在CNN上阅读有关此内容的文章时,我只是想知道同样的问题。特别是因为我的公司收取信用卡。这是一种让我夜不能寐的潜在错误。
-
@txwikinger:不。 Visa代码出错
-
奥巴马确实表示,他正在制定新的刺激计划以缓解赤字......
-
据我所知,Visa和其他信用卡公司通常会对交易收取1%至3%的佣金。在这笔交易中,这将超过200亿美元。我相信他们应该有超过10万美元的任何交易需要人工批准的逻辑(例如1000美元的佣金)。
-
这家公司究竟是什么类型的信用卡,这笔交易已经完成并且引发了仅仅15美元的透支费用......加油站也可能对2%的信用卡处理费不满意。
-
来自程序员的复活节彩蛋即将被解雇;)
-
@Christopher我真的很喜欢。一个John Doe现在将为我们的国家提供资金,其他所有人都免税。这是100美元的好措施。
-
见theregister.co.uk/2009/07/15/quadrillion_dollar_visa_overcharge
-
@tim。我想这可能不足以"与编程相关"。但是,我有一个'真实'的答案,所以我觉得这是一个真正的问题!
-
我不明白的是他为什么拿到预付卡的账单。
-
@nosredna - 我猜你先支付一些金额(比如说1000美元),然后你会定期收到声明,显示剩下的金额。我不知道
-
@Dinah:不,我认为这是一个微不足道的(通过感知,而不是实际的复杂性)错误。实际上没有人会相信他们欠这笔金额。 * FSVO没人。
-
不幸的是,国债并非那么多倍。
-
也许这是一种新的反吸烟运动。 ("看看吸烟真的花了多少钱!":-)
-
@Adriano没有人相信RIAA将起诉Jamie Thomas-Rasset为下载24首歌曲的192万美元? arstechnica.com/tech-policy/news/2009/06/
-
如果来自3.03亿人口的大约13000人受到影响,那么它发生的可能性(13000/303000000 = 4.3e-5)使其处于与具有特定值的未初始??化的16位数相同的数量级。只是在说'。 (1/65535 = 1.5e-5)(我知道人口!=信用卡交易,但我没有任何统计数据)
-
新颁布的卷烟税?
-
他们混淆了美元和津巴布韦元
-
真?你会想要删除美元符号(这些是我们正在谈论的美元)并添加0x吗?
-
@GMan - 是的,有人编辑奇怪!作为Delphi编码器,我自然地使用"$"表示十六进制。
-
@Christopher:欢呼+1
-
我刚刚对这个问题进行了投票,将这个数字计算为255.然后我点击它使它成为一个最喜欢的数字,使得这个数量达到127.这完整的事情是狡猾的。
-
害怕。为了让它超过127值,我想要"最喜欢"我自己的问题!
-
新人对旧的COBOL代码做了一些修复,每个人都害怕
-
哇,一开始的23号确实是神奇的,我在LOST电视节目中听说过它。
将分数加到数字上,得到2314885530818450000,十六进制是2020 2020 2020 1250。
你看到了这种模式吗?前六个字节已被空格覆盖(十六进制20,十二月32)。
-
再次证明空白不是无害的。
-
胜利者就是你!
-
如果这是真的,你只是赢得了"年度最佳调试"奖:)
-
像缓冲区(或堆栈!)溢出
-
有人让这个人在NASA工作。
-
所以我猜沉默真的是金色的。
-
VISA可能比NASA更需要他。
-
可能会将该评论邮寄给公司,我相信他们有兴趣听取您的意见。
-
看起来他买了一个纸箱,而不是一个包装 - 十六进制1250 = dec 4688,或46.88
-
书呆子:通过调试错误的信用卡报告找出男人吸烟的品牌和数量;)
-
这就是为什么我总是打电话.Trim(),为了安全起见。
-
3是幻数
-
现在我们只需要一种方法让他们将______1000存入我们的账户......
-
@John Rasch:美元不是英镑。它发生在美国。 BBC确实给出了相当于英镑的数量。但在文章中。
-
@John Rasch:由于它是美国买家,因此它将是十六进制1250 =十六进制4688或** ** ** 46.88。这有点不同。不知道为什么TFA也以磅为单位给出了价格?
-
@Dinah,@ Mike - meh,我原本没有复制/粘贴英镑标志,因为这是一篇英国文章,哦,我现在无法编辑它!
-
据我们所知,价格可能是12.50美元。或者部分价格可能被覆盖。
-
0x1250也可能是18.80美元(如果分开保存),或者可能是字符串Ctrl-R + P.
-
我想知道你是否应该给他们发电子邮件。
-
当我为美分添加两个零时,这表明该金额以64位整数存储为美分。如果两个最后的字节没有被触及,那么原始数量将为$ 46.88 + n * $ 655.36,其中n可能为零。
-
46.86美元似乎与新罕布什尔州的一箱卷烟价格相当。
-
真正的问题是:为什么他们会将交易金额存储在64位无符号整数中?当然,32位不足以购买> 3200万,但也许那些应该特别对待......
-
也许预计通货膨胀,避免2100万美元的错误...... :)
-
有人可以通知媒体吗?我敢打赌,如果他们能理解的话,他们会跟进
-
@Stefano--他们是幸运罢工。咄。
-
今年最好的调试?这是我看到这件事时我尝试的第一件事。
-
[x]点击此处查看空白区域
-
我曾经想知道为什么49.7天是Windows问题的神奇时间,因为2 ^ 22秒是48.5天。然后我读到它是2 ^ 32毫秒。
-
@perimosocordiae:它不一定是未签名的。第一个半字节是2,因此是:0010。第一个位可能是符号位。
-
哇! +10000来自我:)
-
达姆。尼斯。羞耻这个线程是CW,你值得这些点。
-
现在我知道你为什么不提问:你有所有的答案。好节目。 :)
-
我认为它应该是BCD,而不是2的补码二进制,所以它是12.50美元,而不是46.88美元。存储数字的方法不止一种!这可能是COBOL问题
-
@Gerry:绝对不是12.50美元。如果它是BCD那么该值与空格不对应,所以没有1250剩余......
-
Upvoted,因为当我到这里时得分是666。 :)
-
12.50的解释以及如何发生这种情况:stackoverflow.com/questions/1133581/
-
最后,调用trim()始终很重要。
稍等一下;有一些可疑的东西。
虽然空间填充的解释看起来确实很好,但它可能(至少部分地)似是而非。
VISA表示,使用Visa Buxx预付卡可能会受到"不到13,000"客户的影响。到目前为止,我已经找到了几个新闻。新罕布什尔州的Josh Muszynski,田纳西州的Jason Bryan,德克萨斯州的Ron Seale,Karen Taylor在伯特利的十几岁的儿子,还有一个十几岁的女孩,Owatonna的Elizabeth Lewis。
问题是他们都有完全相同的费用:$ 23,148,855,308,184,500.00。如果问题是空间填充,那么它们如何具有完全相同的$ 0x1250($ 46.88)费用呢?其中两人在加油站购买了香烟,另外两人在餐馆买了香烟,刘易斯买了鸡蛋和牛奶,最后一家在药店买了。所有这些不同的物品是否恰好相同?餐馆账单4688美元似乎还可以,但对于一包香烟?牛奶和鸡蛋?
空格填充错误是有意义的,除了它没有考虑0x1250常量。为什么在最后一个WORD中所有这些都以0x2020 2020 2020 1250而不是0x2020 2020 2020 2020或不同的数字结束?
嗯,如果只有13,000个客户受到影响,可能会以某种方式确切地说明具体的电荷会引发错误。在这种情况下,它不仅仅是一个字段错误。如果只是文本字段被解释为64位整数,那么为什么没有其他数量导致它,从而影响每个人,而不仅仅是<13,000。那么,13,000人怎么可能刚好在同一周收取完全相同的金额呢?
他们说这是一个"临时编程错误",它很可能是,但它可能是一个黑客的东西?在这种情况下,它可能是一个神奇的数字。事实上,它可能是两者的结合:一些黑客自动充电,这与空间填充错误相结合,导致一个或两个错误被检测到。
Register认为答案确实是填充字段错误,但没有扩展为什么它们都是相同的,尽管其中一条评论提到这个数字可能四舍五入到最接近的100美元(不太可能,因为银行和银行软件明确地去了长度以确保精度)。
(还有一个类似的早期错误的报告。)
杰森布莱恩特的法案:
伊丽莎白刘易斯的法案:
Ron Seale的账单:
Josh Muszynski的法案:
-
另一个在Salem:1010wins.com/Visa-Accidentally-Bills-New-York-Teen--23-Quadrill/
-
那篇文章没有指明数字,但我认为可以安全地假设它与其他所有数字相同。
-
可能数字十六进制1250 =十进制4688是导致某种额外欺诈检查方法的最小值。如果它与此完全相同,则会引入代码中的错误?
-
+1你能想象如果13,000名客户同时进行退款会怎么样? :P
-
@ petebob796实际上每个字节被单独处理,因此1250(12 50)是18和80. 18是控制字符,80是大写字母P(至少在ASCII中)。嗯...... Ctrl + P?
-
12.50美元是一个相对较小的圆形数字。令人惊讶的是,在数百万笔交易中,有13,000笔交易确实存在这一数字。但它确实需要与触发覆盖的其他逻辑缺陷相结合。
-
12.50是小而圆的,但它与0x12.50完全不同。如果有人在那里支付12.50美元购买一包香烟,我很高兴我退出了。
-
Roger和TomA,不是12.50美元;这是一个十六进制数。十进制数(和值)是46.88美元;几乎不是一个好的,圆的数字,当然不是所有购买的不同物品(香烟,餐馆,牛奶和鸡蛋)的共同价值。顺便说一下,你认为香烟的价格是46.88美元(甚至12.50美元)是不是很糟糕?尝试支付牛奶和鸡蛋的费用。
当您通过卡购买时会发生的情况是,软件会立即上线以确保您有足够的资金进行购买,但只会暂停交易的资金。在工作日结束时,软件会收集过去24小时内的所有交易,并将其提交给收单银行进行处理。
提交给银行称为结算,它通过以非常严格的格式发送纯文本文件来完成。 (这是几十年前发展起来的,现在使用它的系统数量很难实现现代化)
每个事务在文件中显示为一行文本,其中一部分是事务值。该字段应为11个数字字符(左侧填充零)并始终将值保存在最小公分母(在本例中为美分)。 11个数字字符适用于任何货币的值。
看起来这种情况下的支付处理器对其提交软件进行了一些更改,并错误地用空间填充替换了零填充。这一点如何得到a)服务提供商,b)收购银行和c)签证而不被接收逃脱我。该结算文件的净值(13,000个高价值交易)本来就是天文数字,也许这也是某个因素的影响因素。
-
"11个数字字符可以很好地满足任何货币的价值。" - 津巴布韦元呢?
-
谁在津巴布韦通过VISA付款? (^_^)
-
有美元的人。
-
然后他们不是津巴布韦元,对吧?
-
这是一个很好的评论。但如果这是一个软件故障,那么就没有证明a)服务提供商,b)收购银行和c)Visa都看到了它。它可能在任何时候出现。
如果删除尾随零,则验证为VISA卡号。我的猜测是他们刷卡然后手动输入数字,认为刷卡失败了。
-
大声笑 - 我们刚刚发布了他的Visa卡号吗?他的名字又是什么?
-
附:这是最有可能的答案,第一个答案的200多个赞成票是极客:)每年有大约50多亿的签证交易。
-
不,这是一个错误,而不是使用错误。大约有13000名客户受到此错误的影响。
-
-1 - Visa卡号码以4开头,而不是2
-
前6个字节有可能是纯粹的机会空间?
-
不太可能..有不同客户的多笔交易,所有涉及完全相同的金额!
-
约翰拉希:真的吗?我不知道!那么,为什么我们在网上购物时总是需要说明是Visa,万事达卡等?
-
@MatrixFrog:并非总是如此。有些网站只是通过号码来识别卡。
-
@MatrixFrog:这是Visa / Mastercard商家合同遗留下来的遗产,要求商家强迫用户识别卡。这是一个非常糟糕的尝试,通过默默无闻来提高安全性 - 假设如果你只有这个数字就难以猜测发卡机构。发行人已根据用户选择的值进行验证。然而,开发人员和CC窃贼都知道主卡号模式,因此它不再是"必需"。
-
您如何能够为任何支付系统输入这么大的价格?显然,数据库支持$ quadrillion,但不支持任何东西的第400万个(假设ID号是32位整数)。 :-P
最终的谜团仍然是12 50来自哪里。它们是Ctrl + R,P的ASCII代码。这恰好是您输入QuickBooks验证代码时必须键入的秘密按键。
链接:在何处输入验证码
相当巧合。我想知道当你在错误的地方键入这些键时会发生什么......
如果向左移动64位表示8位(乘以256)
您将获得一个格式正确的信用卡号码和3个空位置,这3个安全的额外号码(由于某种原因全部为零)。随机数只有十分之一的机会给出一个格式良好的CC号。
5926 1069 5889 5232 000
如果你使用二进制equivelant(1110101110110100)解码号码23148855308184500,你得到K矿,这是采矿和矿石的普通话字符。 Kmine可能意味着"知识矿",或像kmine Holdings Ltd.这样的事情。或许K(矿山或矿石)与美国银行或Visa之间存在关联?
-
我认为这一切都要深刻得多。如果你将这个数字乘以胡夫金字塔的高度,然后乘以每三个数字到2012年,你将获得1/666长度到半人马座阿尔法星。
-
@ serg555:这太可怕了......
-
ja.wiktionary.org/wiki/%E9%91%9B