Mrpawelww | 2019-11-26 21:12:10 UTC | #1
Siemka, mam taki problem, bo tak czytam po necie i czytam i dalej nie rozumiem jak zadziałać w tej sprawie, mianowicie. Znajomy tworzy serwer do MTA:SA RPG i przy rejestracji postanowiłem hashować hasła trybem SHA256, i tak czytam o jakiś solach itp. Ktoś wyjaśni mi jak to działa, lub podeśle poradnik w języku Polskim?? Bo to trochę skomplikowane a chcę to obczaić :stuckouttongue: Dzięki za pomoc, i nie chcę komentarzy typu “To niech on ustawi kodowanie md5 bo popularne” itp. ;) Miłego wieczorka
DBanaszewski | 2019-11-26 21:26:59 UTC | #2
Niestety, ale SHA256 jest hashem, co oznacza, że można to rozwiązać tylko w jedną stronę (np. tekst na hash, ale nie na odwrót).
Co prawda, można skorzystać z tablic tęczowych, ale to mija się z celem.
Szyfrem dwustronnym jest np. RSA, AES.
Umożliwiają one jednocześnie szyfrowanie i deszyfrowanie. SHA256 umożliwia tylko “szyfrowanie” (właściwie: hashowanie).
Mrpawelww | 2019-11-26 21:29:06 UTC | #3
No tak postanowił to zakodować i teraz szukam sposobu jak skonstruować skrypt żeby się zalogować na panel (a jeżeli np. bym zrobił w ten sposób że wpisane przez użytkownika hasło zamienić na hash i przyrównać do tego co jest w bazie danych? zadziałało by?? :thinking:
DBanaszewski | 2019-11-26 21:33:56 UTC | #4
Tak, to właśnie tak działa.
Hash dla danego tekstu będzie zawsze taki sam.
Prosty, napisany na telefonie, skrypt PHP pokazujący działanie:
if (hash("SHA256", $password) == $hashed_password_from_db) {
echo "YAY! HASŁO JEST OK!";
} else {
echo " OH NOO... HASŁO JEST BŁĘDNE!";
}
Gdzie $password
to czyste hasło, a $hashed_password_from_db
to hash przechowywany w bazie danych.
bopke | 2019-11-26 22:04:01 UTC | #5
Dodam jeszcze od siebie, że rodzina sha to słabe hashe do haseł - oblicza się je względnie szybko, co jest niepożądanym efektem - długie obliczenie jednego hasha przy logowaniu to niewielki wydatek dodatkowy, a wydłużenie liczenia jednego hasha w sytuacji gdy baza z hashami wycieknie i ktoś próbuje je łamać, to zdecydowane wydłużenie czasu łamania haseł. Czysty zysk!
https://security.stackexchange.com/questions/133239/what-is-the-specific-reason-to-prefer-bcrypt-or-pbkdf2-over-sha256-crypt-in-pass
Mrpawelww | 2019-11-27 17:48:31 UTC | #6
Chłopaki, odnośnie tego hashowania hasła itp. to jest gorzej niż myślałem, po przeanalizowaniu tego co znajomy napisał w lua to wygląda tak jak na zdjęciu poniżej
A teraz weź bądź mądry i pisz panel logowania w php i to rozkoduj :frowning:
Mrpawelww | 2019-11-27 19:41:13 UTC | #7
HALO, pytanie do kolegów. Jak hashować coś w “tea”??
wujek Google nic nie podpowiada w tym temacie :confused:
DBanaszewski | 2019-11-27 19:44:05 UTC | #8
Chodzi o to?
https://pl.wikipedia.org/wiki/TEA_(kryptografia)
Mrpawelww | 2019-11-27 19:45:51 UTC | #9
ta, tylko jak jest niżej odnośnik do użycia w php to strona nie działa a potrzebuję funkcji jak tego użyć, bo hash(“tea”, $string) nie działa
DBanaszewski | 2019-11-27 19:47:13 UTC | #10
[quote=”Mrpawelww, post:9, topic:12803”]
hash(“tea”, $string) nie działa
[/quote]
I nie ma prawa działać.
PHP nie posiada możliwości hashowania przy pomocy TEA bez zewnętrznych “pomagierów”.
Łap dość prostą implementację TEA w PHP:
https://github.com/rryqszq4/tea-php
system | 2019-12-29 19:47:16 UTC | #11
Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.