With all the scary stuff about identity fraud, banking scams on the internet and the issues around disclosing bank details, I wondered why banks don't take a leaf out of the encryption book? In sending secure messages it is common practice to have the concept of a public and a private key. A message is encrypted using a public key, but can only be decrypted by someone with the matching private key. So, I can publish my public key on my website or in email without compromising security.
The same idea could be used by banks to protect our accounts from withdrawal. We often need to provide banking details for someone to deposit money - at least that is the intent. But the same details could potentially be exploited to withdraw money. My point is that we could have "deposit only" accounts in the banking system which would only allow deposit transactions. This would mean that we could freely publish these details without concern. Within the bank, there would be a linked account with another number, known only to the owner of the two accounts, from which withdrawals could be made.
Funnily enough, the cryptographers got the idea for the public / private key from bankers - the physical system used to protect safety deposit boxes where both the bank and the owners keys had to be present to open the box.