webmasterstuff: beveiliging met AES

Gegevens coderen met AES
Een paswoord mag je nooit zomaar versturen of opslaan in een databank. Je moet deze coderen zodat ze niet leesbaar worden, noch in jouw databank voor jou noch voor eventuele hackers.

AES = advanced encryption standard is op dit ogenblik, 2012, de meest gebruikte en minst onveilige vorm van beveiligen. Je doet dit door niet alleen het ingevoerde veld, vaak een paswoord, te versleutelen maar je versleutelt het samen met een zelfgekozen echte invoer.

Zorg dat er in je databank/database volgende gegevens staan:
een veld voor de gebruikersnaam, dat je gewoon het type varchar meegeeft;
een veld voor het paswoord, dat je het type blob geeft:

Verander (eventueel) de woorden 'TABELNAAM', 'GEBRUIKERSNAAM' en 'PASWOORD' afhankelijk van hoe je de velden en je tabel wilt noemen

 
in mysql> CREATE table TABELNAAM (GEBRUIKERSNAAM VARCHAR(16), PASWOORD BLOB);

Om de gegevens, in dit geval vooral het paswoord te coderen met AES, moet je de informatie invoeren; dit kan zowel rechtstreeks in je databank/database met een instructie als dat je het via een registratieformulier op je website doet:
Verander eventueel de woorden 'tabelnaam', 'gebruikersnaam', 'eerstegebruikersnaam', 'paswoordvangebruikersnaam' en 'hiereenzelfgekozenwachtwoorddatjegebruiktomtecoderen' om het volledig naar je eigen hand te zetten

 
INSERT INTO tabelnaam VALUES ('eerstegebruikersnaam',AES_ENCRYPT('paswoordvangebruikersnaam','hiereenzelfgekozenwachtwoorddatjegebruiktomtecoderen') );

Controleer of alles goed werkt; voer volgende vraag uit naar je databank/database rechtstreeks in je databank of via een query in een formuliertje op je website:
Verander eventueel de woorden 'tabelnaam', 'gebruikersnaam', 'eerstegebruikersnaam', 'paswoordvangebruikersnaam' en 'hiereenzelfgekozenwachtwoorddatjegebruiktomtecoderen' afhankelijk hoe je deze velden en de invoer genoemd hebt in je eigen databank (zie hoger)

 
SELECT * FROM tabelnaam WHERE gebruikersnaam='eerstegebruikersnaam' AND paswoord=AES_ENCRYPT('paswoordvangebruikersnaam','hiereenzelfgekozenwachtwoorddatjegebruiktomtecoderen');

Dit zou het invoeren van o.a. wachtwoorden moeten veilig maken Ún biedt jou de mogelijkheid om deze gecodeerde informatie toch weer op te roepen bij inlogsystemen en dergelijke.
Succes!