Dokumenten för MySQL:s LÖSENORD() funktionen säger:
Funktionen PASSWORD() används av autentiseringssystemet i MySQL Server; du bör inte använda den i dina egna applikationer.
Läs "Du lagrar förmodligen lösenord felaktigt " för bättre råd om att hasha och lagra lösenord.
MD5 och SHA-1 anses vara för svaga för att använda för lösenord. Den nuvarande rekommendationen är att använda SHA-256.
Jag bidrog med en patch till MySQL för att stödja en SHA2()
funktion, och patchen accepterades, men eftersom deras färdplan har ändrats är det inte klart när det kommer att bli en släppt produkt.
Under tiden kan du använda hash och saltning i ditt programmeringsspråk och helt enkelt lagra hashsammandraget för resultatet i databasen. Om du använder PHP är SHA-256 tillgängligt i hash()
funktion.
uppdatering: MySQL 5.5.8 släpptes i december 2010 och den versionen innehåller stöd för SHA2()
funktion.