1. Doppelt zu hashen ist Unsinn, wenn ich damit gleiche Hashes vermeiden will. Denn zwei gleiche Hashes noch einmal gehashed ergibt wieder zwei gleiche Hashes. Logisch, oder? Man kann damit vielleicht Hacker verwirren, die einfaches Hashing erwarten. Aber bei Open-Source-Produkten kann man das ja leicht rausfinden.
Aber durch das doppellte hashen bleibt das Passwort selbst bei einem Angriff unbekannt. Wenn jemand zufälligerweise die DB ausliest und die Hashs hat, kann er diese Hashs in den Rainbow Tables suchen, aber mit sehr sehr hoher Wahrscheinlichkeit wird er nicht finden. Den der Hash ist ja das gehaschte Passwort, und das ist nicht enthalten.