Informes de noticias como este indican que el número anterior puede haber surgido como un error de programación.
Un hombre en los Estados Unidos salió a su gasolinera local para comprar un paquete de cigarrillos, solo para encontrar que su tarjeta tenía un cargo de $ 23,148,855,308,184,500.
Eso es $ 23 billones (£ 14 billones), muchas veces la deuda nacional de los Estados Unidos. *
En hexadecimal es $ 523DC2E199EBB4 que no parece terriblemente interesante a primera vista.
¿Alguien tiene alguna idea sobre qué error de programación habría causado esto?
magic-numbers
Roddy
fuente
fuente
Respuestas:
Agregue los centavos al número y obtendrá 2314885530818450000, que en hexadecimal es 2020 2020 2020 1250.
¿Ves el patrón? Los primeros seis bytes han sido sobrescritos por espacios (hex 20, dic 32).
fuente
Espera un segundo; Hay algo sospechoso.
Si bien la explicación rellena de espacio ciertamente parece buena, puede ser (al menos en parte) engañosa.
VISA dijo que había "menos de 13,000" clientes afectados por el problema con las tarjetas prepagas Visa Buxx. He encontrado noticias sobre varios hasta ahora. Josh Muszynski en New Hampshire, Jason Bryan en Tennessee, Ron Seale en Texas, el hijo adolescente de Karen Taylor en Bethel y una adolescente, Elizabeth Lewis en Owatonna.
La cuestión es que todos tienen exactamente el mismo cargo : $ 23,148,855,308,184,500.00. Si el problema fue el relleno de espacio, entonces, ¿cómo es que todos ellos tenían exactamente el mismo cargo de $ 0x1250 ($ 46.88)? Dos de ellos habían comprado cigarrillos en gasolineras, otros dos habían pagado en restaurantes, Lewis compró huevos y leche, el último en una farmacia. ¿Todos estos artículos variados cuestan lo mismo? $ 46.88 por la factura de un restaurante parece estar bien, ¿pero por un paquete de cigarrillos? para leche y huevos‽
El error de relleno de espacio tiene sentido, excepto que no tiene en cuenta la constante 0x1250. ¿Por qué terminaron todos ellos en
0x2020 2020 2020 1250
lugar de0x2020 2020 2020 2020
números diferentes en la última PALABRA?Hmmm, si solo 13,000 clientes se vieron afectados, puede ser que de alguna manera ese cargo exacto y específico provocó el error. En ese caso, es más que un simple error de campo. Si solo se interpretaba el campo de texto como un entero de 64 bits, entonces ¿por qué otras cantidades no lo causaron, afectando así a todos, no solo a <13,000? Aún así, ¿cómo es que 13,000 personas podrían haber cobrado exactamente la misma cantidad en la misma semana?
Dicen que es un "error de programación temporal", y bien puede serlo, pero ¿podría ser una piratería? En ese caso, probablemente sería un número mágico. De hecho, puede ser una combinación de ambos: algún pirata informático que pone una carga automática 0x1250, que se combinó con el error de relleno de espacio, causando la detección de uno o ambos errores.
The Register cree que la respuesta es de hecho el error de campo acolchado, pero no explica por qué son todos iguales, aunque uno de los comentarios menciona que el número posiblemente se redondea a los $ 100 más cercanos (poco probable ya que los bancos y el software bancario explícitamente van a longitudes para garantizar la precisión).
(También hay un informe de un error similar anterior).
Proyecto de ley de Jason Bryant:
La factura de Elizabeth Lewis:
La factura de Ron Seale:
La factura de Josh Muszynski:
fuente
Lo que sucede cuando realiza una compra con tarjeta es que el software se conecta en línea de inmediato para garantizar que tenga fondos suficientes para la compra, pero solo retiene los fondos para la transacción. Al final de la jornada laboral, el software recopila todas las transacciones realizadas en las últimas 24 horas y las envía al banco adquirente para su procesamiento.
El envío al banco se conoce como liquidación, y se realiza mediante el envío de un archivo de texto sin formato en un formato muy rígido. (Todo esto se desarrolló hace décadas y la cantidad de sistemas que ahora lo utilizan dificulta la modernización)
Cada transacción aparece en el archivo como una línea de texto, y parte de eso es el valor de la transacción. Este campo debe tener 11 caracteres numéricos (cero rellenado en el lado izquierdo) y siempre tendrá el valor en el mínimo común denominador (en este caso, centavos). 11 caracteres numéricos abastecen bien los valores en cualquier moneda.
Parece que el procesador de pagos en este caso había realizado algunos cambios en su software de envío y reemplazó erróneamente el relleno cero con espacio. Apenas se me escapa esto a) proveedor de servicios, b) adquisición de banco yc) Visa sin ser recogido. El valor neto de ese archivo de liquidación (13,000 transacciones de alto valor) habría sido astronómico, y tal vez eso también fue un factor contribuyente en alguna parte.
fuente
Si elimina el cero final, esto se valida como un número de tarjeta VISA. Supongo que deslizaron la tarjeta y luego ingresaron manualmente el número, pensando que el deslizamiento había fallado.
fuente
El misterio final sigue siendo de dónde viene 12 50. Son los códigos ASCII para Ctrl + R, P. Que resultan ser las teclas secretas que debe escribir para ingresar el código de validación para QuickBooks.
Enlace: dónde ingresar el código de validación
Toda una coincidencia. Me pregunto qué sucede cuando escribes estas teclas en el lugar equivocado ...
fuente
Si desplaza a la izquierda la representación de 64 bits 8 bits a la izquierda (multiplique por 256) Obtendrá un número de tarjeta de crédito bien formado y 3 posiciones vacías para esto 3 números adicionales seguros (todos ceros por alguna razón). Solo hay 1 de cada 10 posibilidades de que un número aleatorio dé un número CC bien formado.
5926 1069 5889 5232 000
fuente
Si usa la decodificación del equivalente binario (1110101110110100) del número 23148855308184500, obtendrá K 鑛, que es el carácter mandarín para la minería y el mineral. Kmine podría significar "conocimiento mío", o algo así como kmine Holdings Ltd. ¿Quizás haya una correlación entre K (mina u mineral) y Bank of America o Visa?
fuente