Voy a tener otra oportunidad en este caso, para tratar de abordar los muchos comentarios excelentes ...
Un cheque es una instrucción para que un banco tome dinero de la cuenta de Alice y se lo dé a Bob. Para poder actuar, el banco necesita conocer los detalles de la cuenta de Alice; deben estar escritos en el cheque de alguna forma cuando llegue para su compensación.
Un cheque preimpreso en el libro de cheques de Alice tiene su número de cuenta ya escrito, simplemente por razones de conveniencia, tanto en forma humana como legible por máquina.
@IMB primero pregunta si esto es una vulnerabilidad, ya que si Eve obtiene un cheque, puede leer los detalles de la cuenta y usarlos en un ataque. La respuesta es sí, es una vulnerabilidad.
Luego, @IMB pregunta si el hash de los detalles de la cuenta sería un buen control. Sospecho que en realidad significan cifrado, en lugar de hash, ya que el cifrado criptográfico es un término técnico bastante específico que no se aplica aquí, pero se entiende. La respuesta también es sí, si se hace con cuidado, cifrar el número de cuenta (con un nonce adecuado agregado) evitará en gran medida que Eve use la información de la cuenta.
Por último, @IMB pregunta por qué los bancos no lo hacen entonces. Bueno, como con cada control de seguridad, tiene que medir el costo de usarlo contra el impacto de una falla para decidir si debe implementarlo o no.
Creo que el costo principal es que los humanos ya no pueden leer todo el cheque. Eso no suena como un problema en estos días de computación ubicua, pero los bancos son conservadores y anticuados y son particularmente aficionados a tener procesos de auditoría humanos. Les gusta que un gerente pueda sacar un cheque al azar todos los días y volver a verificar cómo se procesó. Les gusta poder sacar un pedazo de papel físico y agitarlo a un cliente y decir "No, no cometimos un error".
Los costos adicionales son que agrega una sobrecarga al proceso de compensación de cheques (y los clientes ya odian cuánto tiempo lleva), que ya no tiene una copia de seguridad si la parte legible de un cheque está dañada, y supongo que podría ejecutarse en dificultades reglamentarias sobre la definición legal de un cheque.
Los riesgos, por otro lado, no son enormes, porque los bancos tienen otros controles establecidos. Autentican a las personas antes de permitirles retirar dinero y requieren más que solo números de cuenta para retirar dinero fácilmente. Usan varios métodos técnicos para evitar que Eve imprima los cheques con los detalles de Alice. Tienen seguro para cubrir cualquier pérdida. Ellos monitorean la actividad de la cuenta para detectar transacciones sospechosas.
Una última cosa a considerar: Alice tiene que contarle los detalles de su cuenta a muchas personas de todos modos: a su empleador (para que le paguen), al encargado de impuestos, a la compañía de agua (para débitos directos) y así sucesivamente. Y ella tiene que incrustarlo en su tarjeta de débito. Y el banco tiene que imprimirlo en sus estados de cuenta ... Así que Eve tiene muchas otras formas de obtener esta información.
Al final, los bancos sopesaron los costos y los riesgos y concluyeron que simplemente no vale la pena, especialmente considerando la disminución en el uso de cheques. La última vez que intenté pagar algo en una tienda con un cheque, tenían que conseguir al gerente porque ninguno de los asistentes de ventas había visto uno antes, excepto en las películas.