Ktoś wyjaśni jak odhashować kodowanie SHA256?

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żejhDWuE|690x126
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.