Es por que no necesitas desencriptar la contraseña para saber que es la misma.
Ejemplo:
Código Python:
Ver originalfrom hashlib import sha512
# hash for "123456" with sha512 algorithm
correct_hash_password = 'ba3253876aed6bc22d4a6ff53d8406c6ad864195ed144ab5c87621b6c233b548baeae6956df346ec8c17f5ea10f35ee3cbc514797ed7ddd3145464e2a0bab413'
while True:
password = raw_input('password: ')
hash_password = sha512(password).hexdigest()
if correct_hash_password == hash_password:
print "Password correct"
break
else:
print "Password incorrect"
Definitivamente base64 seria igual de frágil que dejarlo en texto plano.