Является ли 23,148,855,308,184,500 магическим числом или чистой случайностью?
новости, такие как этот укажите, что вышеуказанное число могло возникнуть как ошибка программирования.
человек в Соединенных Штатах выскочил его местные АЗС купить пачка сигарет - только, чтобы найти его с карты взимается $ 23,148,855,308,184,500.
Это $ 23 квадриллиона (£14 quadrillion) - во много раз больше США государственный долг.*
в hex это $523DC2E199EBB4, который не отображается ужасно интересно на первый взгляд.
У кого-нибудь есть мысли о том, какая ошибка программирования вызвала бы это?
7 ответов
добавьте центы к числу, и вы получите 2314885530818450000, который в шестнадцатеричном 2020 2020 2020 1250.
вы видите закономерность? Первые шесть байтов были перезаписаны пробелами (hex 20, dec 32).
Подождите секунду; происходит что-то подозрительное.
VISA заявила, что было" менее 13 000 " клиентов, пострадавших от snafu с предоплаченными картами Visa Buxx. Я уже нашел новости по нескольким. Джош Мушински в Нью-Гэмпшире, Джейсон Брайан в Теннесси, Рон сил в Техасе, сын-подросток Карен Тейлор в Бетеле и девочка-подросток Элизабет Льюис в Оватонна .
дело в том, что все они имеют точно такой же заряд: $ 23,148,855,308,184,500.00. Если проблема заключалась в заполнении пространства, то как получилось, что все они имели одинаковый заряд $0x1250 ($46.88)? Двое из них покупали сигареты на заправках, еще двое платили в ресторанах, Льюис покупал яйца и молоко, последний-в аптеке. Все эти разнообразные предметы стоят одинаково? $ 46.88 за счет ресторана кажется нормальным, но для пачку сигарет? для молока и яиц‽
ошибка заполнения пробела имеет смысл, за исключением того, что она не учитывает константу 0x1250. Почему все они закончили с 0x2020 2020 2020 1250
вместо 0x2020 2020 2020 2020
или разные числа в последнем слове?
Хммм, если только 13 000 клиентов были затронуты, может быть, что каким-то образом этот точный, конкретный заряд вызвал ошибку. В этом случае это больше, чем просто ошибка поля. Если это было только текстовое поле, интерпретируемое как 64-разрядное целое число, тогда почему другие суммы не вызвали его, тем самым затрагивая всех, а не только 13,000 люди могли просто случайно взимать точно такую же сумму за ту же неделю?
Они говорят, что это" временная ошибка программирования", и это вполне может быть, но может ли это быть взлом? В таком случае это, вероятно, магическое число. На самом деле, это может быть комбинация обоих: какой-то хакер поставил автоматический заряд 0x1250, который объединился с ошибкой заполнения пробела, вызывающей одну или обе ошибки будут обнаружены.
на зарегистрироваться думает, что ответ действительно является ошибкой с мягким полем, но не расширяет, почему они все одинаковы, хотя в одном из комментариев упоминается число, возможно, округленное до ближайшего $100 (маловероятно, поскольку банки и банковское программное обеспечение явно идут на длины, чтобы обеспечить точность).
(существует также отчет аналогичного, ранее ошибка.)
счет Джейсона Брайанта:
счет Элизабет Льюис:
счет Рона Силла:
счет Джоша Мусински:
Что происходит, когда вы совершаете покупку по карте, это то, что программное обеспечение немедленно выходит в интернет, чтобы убедиться, что у вас есть достаточные средства для покупки, но только удерживает средства для транзакции. В конце рабочего дня программа собирает все транзакции, совершенные за последние 24 часа и отправляет их в банк-эквайер для обработки.
представление в банк известно как расчет, и это делается путем отправки обычного текстового файла в очень жестком формат. (Все это было разработано десятилетия назад, и количество систем, использующих его сейчас, затрудняет модернизацию)
каждая транзакция отображается в файле в виде строки текста, и частью этого является значение транзакции. Это поле должно состоять из 11 числовых символов (ноль слева) и всегда будет содержать значение в наименьшем общем знаменателе (в данном случае центах). 11 числовые символы хорошо подходят для значений в любой валюте.
похоже на оплату процессор в этом случае внес некоторые изменения в свое программное обеспечение представления и ошибочно заменил нулевое заполнение пробелом. Как это получилось: а) поставщик услуг, б) банк-эквайринг и в) виза, не будучи подобранным, ускользает от меня. Чистая стоимость этого файла расчетов (13 000 операций с высокой стоимостью) была бы астрономической, и, возможно, это также было где-то фактором.
Если вы удалите конечный ноль, это подтвердит номер карты VISA. Я предполагаю, что они провели карту, а затем вручную ввели номер, думая, что салфетка не удалась.
конечная тайна по-прежнему, где 12 50 приходит от. Это коды ASCII для Ctrl+R, P. которые являются секретными нажатиями клавиш, которые вы должны ввести, чтобы ввести код проверки для QuickBooks.
ссылки: где ввести код проверки
какое совпадение. Интересно, что происходит, когда вы набираете эти ключи в неправильном месте...
Если вы сдвинете влево 64-битное представление 8 бит влево (умножьте на 256) Вы получите хорошо сформированный номер кредитной карты и 3 пустые позиции для этих 3 безопасных дополнительных номеров (все нули по какой-то причине). Существует только 1 из 10 шансов, что случайное число дает хорошо сформированное число CC.
5926 1069 5889 5232 000
Если вы используете двоичный эквивелант (1110101110110100) декод числа 23148855308184500, вы получаете K鑛, который является символом мандарина для добычи и руды. Kmine может означать "шахта знаний" или что-то вроде Kmine Holdings Ltd. Возможно, существует корреляция между K (шахта или руда) и Bank of America или Visa?