Laporan berita seperti ini menunjukkan bahwa angka di atas mungkin muncul sebagai bug pemrograman.
Seorang pria di Amerika Serikat muncul ke pom bensin lokalnya untuk membeli sebungkus rokok - hanya untuk menemukan kartunya dikenakan biaya $ 23.148.855.305.184.500.
Itu adalah $ 23 kuadriliun (£ 14 kuadriliun) - berkali-kali hutang nasional AS. *
Dalam hex itu $ 523DC2E199EBB4 yang tidak tampak sangat menarik pada pandangan pertama.
Adakah yang memiliki pemikiran tentang kesalahan pemrograman apa yang menyebabkan ini?
magic-numbers
Roddy
sumber
sumber
Jawaban:
Tambahkan sen ke nomor dan Anda mendapatkan 2314885530818450000, yang dalam heksadesimal adalah 2020, 2020, 2020, 1250.
Apakah Anda melihat polanya? Enam byte pertama telah ditimpa oleh spasi (hex 20, dec 32).
sumber
Tunggu sebentar; ada sesuatu yang mencurigakan sedang terjadi.
Walaupun penjelasan yang diberi ruang jelas terlihat bagus, mungkin (setidaknya sebagian) penjelasan.
VISA mengatakan bahwa ada "kurang dari 13.000" pelanggan yang terpengaruh oleh snafu dengan kartu pra-bayar Visa Buxx. Saya telah menemukan berita di beberapa sejauh ini. Josh Muszynski di New Hampshire, Jason Bryan di Tennessee, Ron Seale di Texas, putra remaja Karen Taylor di Bethel, dan seorang gadis remaja, Elizabeth Lewis di Owatonna.
Masalahnya adalah bahwa mereka semua memiliki biaya yang sama persis : $ 23.148.855.308.184.500,00. Jika masalahnya adalah space-padding, lalu bagaimana mungkin semuanya memiliki biaya $ 0x1250 ($ 46,88) yang sama persis? Dua dari mereka membeli rokok di pompa bensin, dua lainnya membayar di restoran, Lewis membeli telur dan susu, yang terakhir di toko obat. Apakah semua barang yang bervariasi ini harganya sama? $ 46,88 untuk tagihan restoran sepertinya baik-baik saja, tetapi untuk sebungkus rokok? untuk susu dan telur‽
Kesalahan space-padding masuk akal, kecuali itu tidak memperhitungkan konstanta 0x1250. Mengapa mereka semua berakhir dengan
0x2020 2020 2020 1250
alih - alih0x2020 2020 2020 2020
atau nomor yang berbeda di KATA terakhir?Hmmm, jika hanya 13.000 pelanggan yang terpengaruh, mungkin karena biaya tertentu yang memicu kesalahan. Dalam hal ini, ini lebih dari sekadar kesalahan bidang. Jika itu hanya bidang teks yang ditafsirkan sebagai integer 64-bit, lalu mengapa jumlah lain tidak menyebabkannya, sehingga mempengaruhi semua orang, bukan hanya <13.000. Namun, bagaimana 13.000 orang bisa saja menagih jumlah yang sama persis di minggu yang sama?
Mereka mengatakan itu adalah "kesalahan pemrograman sementara", dan itu mungkin saja terjadi, tetapi mungkinkah itu hal peretasan? Kalau begitu, mungkin itu adalah angka ajaib. Bahkan, itu mungkin kombinasi dari keduanya: beberapa peretas menempatkan biaya otomatis 0x1250, yang digabungkan dengan kesalahan space-padding, menyebabkan satu atau kedua kesalahan terdeteksi.
The Register berpikir bahwa jawabannya memang kesalahan empuk-lapangan, tetapi tidak memperluas mengapa mereka semua sama, meskipun salah satu komentar menyebutkan nomor kemungkinan yang dibulatkan ke terdekat $ 100 (mungkin karena bank dan software perbankan secara eksplisit pergi panjang untuk memastikan presisi).
(Ada juga laporan yang serupa, kesalahan sebelumnya.)
Tagihan Jason Bryant:
RUU Elizabeth Lewis:
Tagihan Ron Seale:
Tagihan Josh Muszynski:
sumber
Apa yang terjadi ketika Anda melakukan pembelian dengan kartu adalah bahwa perangkat lunak segera online untuk memastikan Anda memiliki dana yang cukup untuk pembelian, tetapi hanya menahan dana untuk transaksi tersebut. Pada akhir hari kerja, perangkat lunak kemudian mengumpulkan semua transaksi yang dilakukan dalam 24 jam terakhir dan menyerahkannya ke bank pengakuisisi untuk diproses.
Pengajuan ke bank dikenal sebagai penyelesaian, dan dilakukan dengan mengirimkan file teks biasa dalam format yang sangat kaku. (Ini semua dikembangkan beberapa dekade yang lalu dan jumlah sistem yang sekarang menggunakannya membuatnya sulit untuk dimodernisasi)
Setiap transaksi muncul dalam file sebagai baris teks, dan bagian dari itu adalah nilai transaksi. Bidang ini harus terdiri dari 11 karakter numerik (angka nol di sebelah kiri) dan akan selalu berisi nilai dalam common denominator terendah (dalam hal ini sen). 11 karakter numerik cocok untuk nilai dalam mata uang apa pun.
Sepertinya prosesor pembayaran dalam kasus ini telah membuat beberapa perubahan pada perangkat lunak pengiriman mereka dan secara keliru mengganti bantalan nol dengan bantalan ruang. Cukup bagaimana ini didapat oleh a) penyedia layanan, b) mengakuisisi bank dan c) Visa tanpa diambil keluar dari saya. Nilai bersih dari file penyelesaian (13.000 transaksi bernilai tinggi) akan menjadi astronomi, dan mungkin itu juga merupakan faktor penyumbang di suatu tempat.
sumber
Jika Anda menghapus nol trailing, ini divalidasi sebagai nomor kartu VISA. Dugaan saya adalah mereka menggesekkan kartu kemudian memasukkan nomornya secara manual, mengira bahwa gesekannya gagal.
sumber
Misteri pamungkas masih dari mana 1250 berasal. Mereka adalah kode ASCII untuk Ctrl + R, P. Yang kebetulan merupakan penekanan tombol rahasia yang harus Anda ketik untuk memasukkan kode validasi untuk QuickBooks.
Tautan: Tempat memasukkan kode Validasi
Kebetulan sekali. Saya ingin tahu apa yang terjadi ketika Anda mengetikkan kunci ini di tempat yang salah ...
sumber
Jika Anda menggeser ke kiri 64-bit representasi 8 bit tersisa (kalikan dengan 256) Anda akan mendapatkan nomor kartu kredit yang terbentuk dengan baik dan 3 posisi kosong untuk ini adalah 3 angka tambahan yang aman (semua nol karena beberapa alasan). Hanya ada 1 dari 10 peluang bahwa angka acak memberikan nomor CC yang terbentuk dengan baik.
5926 1069 5889 5232 000
sumber
Jika Anda menggunakan decode biner equivelant (1110101110110100) dari angka 23148855308184500, Anda mendapatkan K 鑛, yang merupakan karakter Mandarin untuk penambangan dan bijih. Kmine dapat berarti "tambang pengetahuan," atau sesuatu seperti kmine Holdings Ltd. Mungkin ada korelasi antara K (tambang atau bijih) dan Bank of America atau Visa?
sumber