Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> SHA256, Ilość możliwych kodów
xurexPL
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 18.01.2016

Ostrzeżenie: (0%)
-----


Witam.
Ostatnio trochę poczytałem na temat sha256 i sobie pomyślałem, że skoro z każdego komputera wychodzi ten sam hash (np. dla wyrazu pies - 0f2907ce9dfc41381d6039cd054f8cb33c4ab2f6520210035e2a32b04bc2b7d3) to musi być jakiś system (mimo to, że zmiana jednej literki daje zupełnie coś innego (IMG:style_emoticons/default/smile.gif) )
Ale nie to pytanie nurtuję mnie najbardziej. Jest inne, a mianowicie:

Z tego co czytałem - da się wygenerować hash dla każdego słowa, ciągu liter itd.
Ale skoro hash ma tylko 64 znaki, to jakim cudem jest wstanie przedstawić dowolne kliknięcia na klawiaturze?
Gdyby generować hash dla wyrazu pies, a następnie wygenerować hash hashu wyrazu pies i z każdym kolejnym robić to samo, "to po pewnym czasie" wygenerujemy więcej kodów, niż jest możliwości.
A więc stąd moje pytanie: Co się wtedy stanie? Czy istnieje możliwość, że dwa "wyrazy" mają taki sam hash?
Bardzo proszę o odpowiedź, jeśli ktoś jest w stanie mi takowej udzielić (IMG:style_emoticons/default/smile.gif)

Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
xurexPL
post
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 18.01.2016

Ostrzeżenie: (0%)
-----


Nie zbyt rozumiem, ale z logicznego punktu widzenia ilość kombinacji to:
64 znaki i w każdym z nich dowolny znak,
czyli kodując każdą z możliwych kombinacji mających 64 znaki i na każdym miejscu dowolny znak wyjdzie: liczba hasy sha256 = liczba naszych 64 znakowych zdań.
Jeśli "pewien" komputer by to obliczył stosunkowo szybko to wszystkie kombinacje zostałyby wykorzystane i tworzenie nowych hasy było by po prostu nie możliwe.
I co się stanie gdy ktoś wygeneruje hash np. literki a? Skoro każdy hash został już "zajęty" przez n ciągów 64 znaków to jaki hash przypadnie literce a?
Czy literka a będzie musiała dzielić hash z inną kombinacją znaków?

Skoro ilość możliwych kodów sha256 to 2^256, a sam kod składa się z 64 znaków, to dla ciągu składającego się z 64 znaków wynik również wyniesie 2^256.
Tylko, że zawsze można wygenerować hash dla literki A i już wtedy dla 2^256 możliwości będzie użytych 2^256, a nie 2^256 + 1 (gdzie 1 oznacza hash dla literki A), bo wtedy byłby to paradoks (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 04:03