encrypten / decrypten met keyword?
The Force op 10/07/2011 16:37:06:
Of moet ik (veel te kort door de bocht) tegen hem zeggen "ja kies die maar"? Je komt hier toch wat om te leren?
Oh, dat mag je best zeggen hoor :) Ik heb me nooit eerder in encryptiemethodes verdiept en mocht het inderdaad zo zijn dat 1 methode beter is dan alle andere dan zou ik wel graag willen weten welke dat dan is. Ik ben het met je eens dat het beter is om zelf er ook wat over te lezen en dat zal ik ook zeker doen. Maar het zou wel al prettig zijn om op voorhand te weten wat de beste keuze is (tenminste als er uberhaupt een beste keuze is, misschien zijn alle methodes even goed) en waarom?
Kijk eens naar de reactie van "bantam at banime dot com 09-Dec-2008 05:06" op mcrypt_encrypt. Kopieer de twee functies, kies je wachtwoord en je bent klaar! Dankzij de base64 encode is het resultaat ASCII en hoef je het niet in een BLOB veld op te slaan in de database. Dit zorgt wel voor bijna een verdubbeling van de benodigde ruimte. Wil je dat niet, kijk dan naar de comment van "jamesthome at yahoo dot com 22-Feb-2010 06:05". Let daarnaast wel op: de SALT (oftewel het wachtwoord) kan je het beste hashen met sha1, met binaire output. Dat doe je zo:
Een nadeel van AES-256 (volgens een PHP.net comment) is dat het resultaat groter is dan bij andere encryptiemethoden. Ik heb het niet zelf uitgeprobeerd, maar als dit een bezwaar is zou je een vergelijking moeten doen. Ik zou zeggen: je hebt niet zoveel privacygevoelige data en wat je wil versleutelen zal niet al te groot zijn (een e-mailadres, postcode, wachtwoord, etc.). Je hoeft je volgens mij niet druk te maken om de grootte.
In dit voorbeeld is de SALT dus het wachtwoord?
Wat bedoel je met "Dankzij de base64 encode is het resultaat ASCII en hoef je het niet in een BLOB veld op te slaan in de database."
ASCII houdt in dat het geldige tekens zijn ofzo? Wil dit dan zeggen dat ik het in een textveld kan opslaan? Of varchar?
P.s. Vreemd, bij mij staan de tijden van 05:06 en 06:05 precies een uur later :-s
Ozzie PHP op 10/07/2011 23:58:20:
Wow, dankjewel voor je uitgebreide reactie!!!!
In dit voorbeeld is de SALT dus het wachtwoord?
In dit voorbeeld is de SALT dus het wachtwoord?
Ja.
Ozzie PHP op 10/07/2011 23:58:20:
Wat bedoel je met "Dankzij de base64 encode is het resultaat ASCII en hoef je het niet in een BLOB veld op te slaan in de database."
ASCII houdt in dat het geldige tekens zijn ofzo? Wil dit dan zeggen dat ik het in een textveld kan opslaan? Of varchar?
ASCII houdt in dat het geldige tekens zijn ofzo? Wil dit dan zeggen dat ik het in een textveld kan opslaan? Of varchar?
Het resultaat kan tekens bevatten die niet voldoen aan de ASCII standaard. In een binary veld kan je alles opslaan (ASCII is onder water ook binary). Lees maar eens "vincent at verbrugh dot nl 01-Mar-2006 09:55" en "triptripon at gmail dot com 05-Feb-2006 11:28" op http://php.net/manual/en/ref.mcrypt.php . Als je er een base64 encode over doet dan is het wel 'gewoon tekst' en kan je het dus veilig in een varchar/text opslaan (zolang je bij varchar de maximum lengte maar niet overschrijdt).
Oké, mag ik je heel hartelijk bedanken? Hier kan ik weer even mee vooruit. Thanks!!
No worries!