eerst alles converteren naar kleine letters met strtolower?
Edit:
Bestaande gebruikersnamen haal je op uit de database, je decrypt ze en vervolgens doe je strtolower (of strtoupper, net wat je wil) en dan sla je ze weer encrypted op. Bij een registratieformulier doe je dat ook op die wijze, waarschijnlijk krijg je dan iets van base64_encode(strtolower($username)).
Kortom: overal eerst strtolower voordat je encode. Het is op die manier ook makkelijker te controleren of een gebruikersnaam meer dan twee keer voorkomt in de database, omdat je op hash kan vergelijken in plaats van eerst te moeten decrypten en kijken of een naam, ongeacht hoofdletter/kleine letter, al voorkomt in de database.
Ja, zo wordt het inderdaad opgeslagen. De gebruiker hoeft daar echter niet veel van te merken, omdat je pas strtolower doet nadat de gebruiker zijn gegevens heeft ingevoerd.
Alleen als je de gebruikersnaam ergens wilt laten zien op je site kan je misschien een extra veldje in de database aanmaken waarin de originele gebruikersnaam wordt opgeslagen.
Wat is er veilig aan een gecodeerde username :) Zeker als je hem base64 codeert...
Maar echt een veiligheidslek zie ik niet om mijn usernames te gaan coderen :S