• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

password_hash(); PHP pytanie

Object Storage Arubacloud
0 głosów
1,022 wizyt
pytanie zadane 13 marca 2018 w PHP przez MrxCI Dyskutant (8,260 p.)
Witam, jak wiadomo sposoby hashowania ciągle się zmieniają, stąd tez moje pytanie, czy użycie funkcji password_hash() jest bezpieczne na dłuższy czas, bo co jeśli zmieni się sposób generowania hashu i hasła zaszyfrowane starym algorytmem nie będą zgodne z tymi w bazie danych? Każdy utraci dostęp. chce hashować hasła ale mam strach przed tym.

 

Możecie napisać mi jakieś porady i mnie uspokoić? Nie znam się na tym za bardzo a wiem że jest to wymóg bezpieczeństwa, tak samo jak boje się tego "salt", jeśli jest to losowy ciąg, to czy istnieje możliwość iż hasla będą nie zgodne po mimo wpisania ich dobrze?

2 odpowiedzi

+5 głosów
odpowiedź 13 marca 2018 przez CenterPL Pasjonat (19,070 p.)
wybrane 13 marca 2018 przez MrxCI
 
Najlepsza

Użyj password_hash z domyślnym Bcryptem, myślę, że na tę chwilę jest to bezpieczny algorytm szyfrujący, acz jest asymetryczny. Żeby sprawdzić jego poprawność musisz użyć password_verify.

<?php

$passwordPlain = 'pass123';

$passwordHash = password_hash($passwordPlain, PASSWORD_BCRYPT);

password_verify($passwordPlain, $passwordHash); //zwraca true gdy sobie odpowiadają tak jak w tym przypadku

 

1
komentarz 13 marca 2018 przez event15 Szeryf (93,790 p.)
Oczywiście wygenerowany hash trzymamy w bazie danych a postaci plaintext nigdzie. Piszę, żeby nikomu nie przyszło do głowy trzymać tego w kodzie :)
komentarz 13 marca 2018 przez MrxCI Dyskutant (8,260 p.)
Dziękuje bardzo, martwi mnie tylko ten hash, boje się że coś z solą się zmieni w innych wersjach php i wszyscy utracą dostęp do kąt bo np. hash z round 10 bcrypt nie pasują do tych w generatorach online <invalid salt> i to też mnie martwi
komentarz 13 marca 2018 przez event15 Szeryf (93,790 p.)
kont*

Nie - to tak nie działa. Hash wygenerowany z danego hasła może być za każdym razem innym, jednak funkcja verify sprawdza poprawność podanego hasła w bebechach PHP. To ma na celu zabezpieczenie przed np brute force. Poczytaj trochę o tym.
komentarz 13 marca 2018 przez MrxCI Dyskutant (8,260 p.)
Czyli mam rozumieć że mogę spokojnie bcryptem zapisywać w basie hashe haseł bez obawy o późniejszą utratę?
komentarz 14 marca 2018 przez CenterPL Pasjonat (19,070 p.)
Tak, śmiało z tego korzystaj, sądzę, że obecnie jest to standard i jest całkiem bezpieczny. I nie porównuj dwóch hashy z danego hasła, bo one za każdym razem będą inne. Jedyna możliwość to password_verify. Poza tym bcrypt raczej nie jest tworem php i od niego nie zależy.
–10 głosów
odpowiedź 13 marca 2018 przez plucins Stary wyjadacz (11,110 p.)

Najczęściej sotsowanym formatem szyfrującym jest md5. Jest to 128bitow format, który jeszcze na świecie nie został złamany.

<?php
$str = "Hello";
echo md5($str);
?>

 

4
komentarz 13 marca 2018 przez writen Nałogowiec (29,060 p.)
No chyba coś ci się pomyliło.
2
komentarz 13 marca 2018 przez Daniel90 Pasjonat (17,970 p.)

@plucins, md5 dla "hello" będzie taki sam za każdym razem. Wystarczy mieć bazę haseł md5. 

2
komentarz 13 marca 2018 przez event15 Szeryf (93,790 p.)

@plucins, Chyba nie słyszałeś o rainbow tables ani o kolizjach md5. Dziś nawet mocniejszy laptop nie ma z tym hashem większego problemu.

Podobne pytania

0 głosów
0 odpowiedzi 231 wizyt
0 głosów
1 odpowiedź 1,674 wizyt
pytanie zadane 18 stycznia 2016 w PHP przez Bartess Gaduła (3,630 p.)
0 głosów
1 odpowiedź 158 wizyt
pytanie zadane 19 grudnia 2017 w PHP przez Bartess Gaduła (3,630 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...