Siguranța și MySQL
Material de fond privind limbajele de programare majore și dispunerea de site-uri.
Tehnica Gata pentru crearea de ambele site-uri dinamice simple și complexe folosind PHP si MySQL.
dezvoltarea de site-uri web sub „cheie“.
Dezvoltarea de site-uri fragmente individuale, sfaturi cu privire la aspectul paginilor web și programare web.
instrument web
magazin web
servicii web
grafica web
Resurse web
Doriți să fiți la curent cu evoluțiile care au loc pe site-ul? Inscrie-te pentru a primi cele mai recente știri și articole.
Uita-te pe Google
Siguranța și MySQL. criptare reversibilă. criptare ireversibilă
Siguranță și MySQL
Acesta va discuta despre numeroasele funcții de criptare care fac parte din baza de date MySQL. Cel mai adesea supuse unor parole de criptare. În cazul hacking atacatorilor baza de date de acces numai la benzile criptate care vor avea timp de decodare pentru care parolele pot fi nu sunt relevante.
MySQL funcții de criptare
Există două tipuri de criptare: reversibil și ireversibil. Atunci când criptarea reversibilă textul criptat poate fi supus la descifrarea. Atunci când rezultatul de criptare ireversibilă este un hash care nu pot fi readuse la textul original.
Notă. Dacă funcția este trecut într-o ca valoare NULL argument. De asemenea, returnează NULL.
Tabel. MySQL funcții de criptare
Este nevoie ca argument str șir de caractere, care trebuie să fie supuse criptare și un key_str cheie secretă. argumente de intrare pot fi de orice lungime;
Acesta primește criptat primul argument folosind AES_ENCRYPT linie (). key_str cheie, astfel, trebuie să fie aceeași atât în prima cât și a doua rânduri. Dacă funcția AES_DECRYPT () detectează datele incorecte sau liniile de alimentare incorecte trebuie să returneze valoarea este NULL. Cu toate acestea AES_DECRYPT () poate returna bine valoare alta decât NULL, sau pur și simplu „junk“
Criptează str șir folosind argumentul pass_str ca o cheie secretă
Decriptează crypt_str string criptat funcția AES_DECRYPT (). Argumentul pass_str este folosit ca o cheie secretă
Criptează șirul str folosind argumentul pass_str ca o cheie secretă. Ca un al doilea șir de caractere parametru opțional poate acționa key_string, specificând cheia sekretry. În cazul acesta este necesar pentru a produce cheia secretă ca un al doilea parametru și un DES_DECRYPT funcție de decriptare (). Numărul key_number În schimb, cheia secretă poate fi specificată variază de la 0 la 9. Numărul indică înregistrarea într-un server-cheie DES-fișier a cărui locație puteți seta MySQL de pornire de server parametru --des-cheie-fișier
str String decriptează criptate folosind funcția DES_ENCRYPT (). În cazul în care criptarea în funcția de-al doilea parametru DES_ENCRYPT () a fost transferată sau numărul de al doilea parametru a fost omis, funcțiile parametrilor key_string DES_DECRYPT () nu mai indică necesară, deoarece înregistrează în șir de caractere criptate. O astfel de abordare în cazul în care cheia secretă este stocată pe server și nu a fost trimis printr-o conexiune de rețea, mult mai sigur, deoarece valoarea cheii nu poate fi scos din traficul în rețea. Dacă al doilea parametru nu este specificat, se presupune că prima linie este utilizat DES-fișier
Expune criptare ireversibilă șirul str, folosind funcția de apel de sistem criptă (UNIX). Dacă a doua sare opțional nu este specificat, rezultatul este obținut de fiecare dată când unul nou.
Este nevoie de str șir de parametri și returnează o sumă de control pe 128 de biți calculat pe algoritmul MD5. Valoarea returnată este un număr hexazecimal de 32 de biți, care este unic pentru rând. Astfel, pentru liniile care diferă în cel puțin un simbol, rezultatul va fi diferit funcția MD5. În același timp, pentru două linii identice returnează întotdeauna același rezultat
Expune str date criptate permanent. Aceasta este funcția folosită pentru a cripta parolele în MySQL
criptare reversibilă
O criptare reversibilă, de regulă, două funcții disponibile pentru a cripta și decripta datele.
Luați în considerare exemple folosind functii AES_ENCRYPT (str, key_str) și AES_DECRYPT (crypt_str, key_str). descrierea care este prezentată în tabel.
Funcția AES_ENCRYPT (str, key_str)
Acum ia în considerare criptarea câmpului de e-mail, tabelul bazei de date ale utilizatorilor umed. Criptarea acestui câmp va permite pentru a proteja utilizatorii de spam în cazul în care baza de date ajunge în mâinile lor. Utilizatorii a crea un tabel și completați-l cu câmpul.
criptare ireversibilă
Funcția MD5 () oferă o criptare ireversibilă.
Folosind funcția MD5 ()
Notă. Algoritmul MD5 () este adesea folosit pentru a crea un cod hash unic de fișiere de dimensiuni mari, care sunt transmise prin rețea. După descărcarea fișierului, puteți verifica oricând integritatea acestuia prin calcularea codului MD5 () și compară rezultatul cu codul hash furnizat de distribuitor. Acest lucru permite de a urmări dosar de corupție cauzate de transmiterea prin intermediul rețelei, și previne de asemenea distribuție manipulare.
criptare ireversibila poate fi folosit pentru a cripta parolele - sunt stocate în baza de date nu sunt ei înșiși și lor MD5-hash-uri parole. În autentificarea parolei de timp introduse de utilizator, și este tratată funcția MD5 (). după care MD5-expuse hashes comparate. Acest sistem vă permite să stocați parolele într-un mod sigur, și nimeni, nici măcar DBA nu are posibilitatea de a învăța parolele utilizatorilor. Recent, acest tip de autentificare devine din ce în ce mai populare. Ca o consecință a aplicării unei pauză după ce introduceți o parolă incorectă, timpul necesar pentru selectarea unei parole, a crescut de multe ori, înseamnă selectarea parolelor individuale în rețea este aproape de utilizare - atacatori sunt încercarea de a obține toate baza de date parolele. În cazul în care, cu toate acestea, sunt stocate în baza de date numai md5 hash, un atacator ar trebui să recupereze prin sortarea fiecare dintre parolele criptate.
Funcția PASSWORD () pune criptare ireversibilă și datele utilizate pentru criptarea parolelor MySQL în coloana parolă în tabelul privlegy bazei de date sistem de utilizator MySQL.
Utilizarea PAROLĂ) Funcția (
Funcția PASSWORD () este utilizat în sistemul de autentificare în serverul MySQL, deci nu ar trebui să fie utilizat în aplicații - este mai bine să utilizați MD5 () și SHA1 ().