#5 Petr_Uk
base64 je podla teba secure? Aby nikto nevidel co tam je? Ved rozkodovat to vie aj male dieta.
Musis nastudovat vela okolo security, lebo v tom nemas jasno. Base64 je urcene na kodovanie binarnych dat, aby bolo mozne ich transportovat bezpecne cez http, pripadne ulozit do databazy, rozhodne nie pre kodovanie textu. Navyse mat zakodovane textove data v databaze uplne znemoznuje pouzitie databazy na vsetko, naco ta databaza moze sluzit (napr. indexovanie, vyhladavanie).
Ale prosim, ak z nejakeho dovodu chces mat necitatelne data, musis ich nie kodovat, ale SIFROVAT nejakym klucom a nejakym na to urcenym sifrovacim algoritmom (sha, rsa). Problem je, ze ked ich chces sifrovat na strane servra, musis mat kluc ulozeny tam, kde je aj pristup k databaze, takze znova nie nepriestrelne riesenie. Ak ziskam pristup k tvojmu php servru, mam aj kluc aj pouzitu sifru a zase si bez problemov desifrujem data.
Co sa tyka sifrovania prenosu (https), to je samozrejme ziaduce, aby tvoje data neputovali po internete citatelne pre kazdy server, cez ktory idu, ale to je celkom ina pesnicka.
IMHO, pokial nerobis s TOP SECRET datami, alebo napr. prudko osobnymi udajmi, postaci mat server zabezpeceny a osetreny zmluvami, pre pripad uniku dat nie tvojou vinou.
Cize si predovsetkym si treba spravit poriadok v pomenovaniach:
- kodovanie (encoding/decoding) - prevod z jedneho formatu do druheho (v tvojom pripade base64 na prevod binarnych dat - napr. obrazku do textoveho formatu, podobne napr. url encoding, array to json encoding, skor je to po nasom konverzia, urcite je reverzibilna, nepouziva ziadne sifrovanie, cize nerobi sa pre potreby security, ale skor kvoli vhodnosti pre nasledne pouzitie (transport, storage)
- sifrovanie (encrypting/decrypting) - symetricke pouzitim jedneho kluca na encrypt aj decrypt, alebo asymetricke pouzitim verejneho kluca na encrypt a privatneho na decrypt