Kiedy użytkownicy rejestrują się, czy powinienem przechowywać ich pocztę e-mail w bazie danych tak jak jest lub hash. Chcę móc odszyfrować go później, więc czy powinienem używać md5?php - Czy należy szyfrować adresy e-mail?
dziękuję!
Kiedy użytkownicy rejestrują się, czy powinienem przechowywać ich pocztę e-mail w bazie danych tak jak jest lub hash. Chcę móc odszyfrować go później, więc czy powinienem używać md5?php - Czy należy szyfrować adresy e-mail?
dziękuję!
Nie, md5()
- to one-way hash function. Nie można odszyfrować jego wartości. Zwykle jest używany do haseł, które nie wymagają deszyfrowania. Zamiast porównywać skrótów jak:
$salt = "adding some secret to increasse security";
if (md5($user_password . $salt) == $user_password_hash_from_db) {
## password is ok
}
Jeśli chcesz być w stanie odszyfrować swoją wartość, a następnie użyj funkcji php zamiast crypt
. Ale może wymagać zainstalowania dodatkowych modułów.
W żaden sposób nie widzę żadnego praktycznego powodu do szyfrowania wiadomości e-mail.
oczywiście używanie solonego skrótu do przechowywania haseł byłoby dobrym pomysłem. – tosh
Tak, udawaj, że wszyscy i ich mama wiedzą, że "md5 ('password') == '5f4dcc3b5aa765d61d8327deb882cf99'", ponieważ każdy kraker, który ma znaczenie, będzie wiedział. – Kzqai
@tosh: Masz całkowitą rację. Zaktualizowałem odpowiedź. –
Nie jest powszechne szyfrowanie adresów e-mail. Jeśli ktoś naprawdę chce zachować prywatność e-maili, nie dałby go w pierwszej kolejności :)
Nowoczesne schematy spamowania implikują inaczej. Listy e-mailowe mają wartość w prywatności, którą reprezentują. Wartość jest niewielka, szczególnie w porównaniu z hasłami, ale jest tam, więc metoda szyfrowania jest korzystna, ale w przypadku poczty e-mail z pewnością musi to być metoda odwracalna. – Kzqai
Podczas korzystania z programu md5 nie będzie można go odszyfrować. md5 to funkcja one-way -hash.
md5 nie jest metodą szyfrowania jest mieszanką jednokierunkową. Nie ma powodu do szyfrowania adresów e-mail w bazie danych. Pozostawiłbym je tak, jak jest.
MD5 to skrót, który sprawia, że niemożliwe jest odzyskanie pierwotnej wartości. Powinieneś użyć szyfrowania zamiast skrótu, jeśli chcesz odzyskać e-mail.
Jeśli zamierzasz odszyfrować je później MD5 nie będzie opcją, ponieważ tylko mieszań strun, tracisz oryginalne dane.
Proponuję wypróbować niektóre z wbudowanych funkcji szyfrowania PHP.
Inne odpowiedzi mówią wszystko.
Jednak powinien zawsze
szyfrowania
hash haseł z co najmniej md5() i soli, jak wskazano w odpowiedzi Iwana.
Zgadzam się, że wiadomości e-mail to (mniejszy) problem z bezpieczeństwem informacji, ponieważ stają się one danymi osobistymi, które wprowadziłeś do świata, jeśli ktoś uzyska dostęp do Twojej bazy danych, ale będziesz chciał szyfrowania dwukierunkowego/metoda odszyfrowywania, aby móc wycofywać wiadomości e-mail z powrotem, o czym wspomniał Ivan.
Należy pamiętać, że podstawowe hashowanie MD5 nie jest bezpiecznym hashem.
jak Wikipedia mówi na wiele różnych sposobów, nie jest już bezpieczny (http://en.wikipedia.org/wiki/MD5):
US-CERT z amerykańskiego Departamentu Bezpieczeństwa Wewnętrznego powiedział MD5 „powinno być uważane za kryptograficznym uszkodzony i nie nadają się do dalszego użyj "[7] , a większość amerykańskich aplikacji rządowych będzie musiała przejść do rodziny funkcji skrótu SHA-2 do roku 2010.[8]
myślę jeden poważny problem z tym, że istnieje tęczowe tablice z MD5 wszystko w tych dniach, więc gołe md5 jest bardzo podatna na brute zmusza.
Uważa się, że jest to przydatne narzędzie do niewielkiej obsfokalizacji i odkażania złożonych zestawów danych, ale nie jest to już prawdziwie bezpieczny haszysz. Mogą istnieć specjalne obręcze, które można przeskoczyć, jak obie, używając soli i wykonując zagnieżdżone skróty md5, aby były bezpieczniejsze, chociaż nie jestem kryptografem. Możesz sprawdzić inne wątki SO, takie jak this dla dobrych ogólnych rozwiązań szyfrowania.
MD5 nigdy nie było "bezpiecznym szyfrowaniem"; nie jest już tak bezpieczny jak haszysz. –
Tak, szkoda, że nie używam precyzyjnej terminologii. Zmieniono i wykonano CW. – Kzqai
Hashing (więcej lub mniej) zapobiega odszyfrowywaniu. Więc na pewno nie chcesz tego robić. – Quentin
Nienawidzę tego, kiedy ludzie głosują na takie pytanie. To nie tak, że udziela złej rady, zadaje pytanie i koncepcję, którą chce się pozbyć. I Up zagłosowało z powrotem na 0. –
Powinieneś hash() wszystkie e-maile i zachować oddzielną tabelę z kluczem/parami, dzięki czemu można tę ostatnią odtajać ostatnią! ps. po prostu żartuję (koder humor) – Frankie