Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Lava
Člen
Avatar
Lava:10.2.2015 14:14

Doteraz som používal md5, ale údajne je to už prelomená šifra. Čo používate vy? Ja rozmýšľam nad sha1. Treba mi poprerábať nejaké systémy, tak sa radšej spýtam teraz ;)

Odpovědět
10.2.2015 14:14
Aspartám, sacharín, to je môj vitamín
Avatar
mkub
Tvůrce
Avatar
Odpovídá na Lava
mkub:10.2.2015 14:21

sha256 este nejaky cas tu bude, myslim, ze ani blowfish nebol prelomeny...
takisto treba aby si pouzival dostatocne dlhy kluc (256-tkovy by som v ziadnom pripade nepouzil, radsej 2048-tkovy) a este treba danu sifru aj osolit...

a co sa tyka dlzky kluca, tak tu treba ratat s tym, ze vypocet hashu je narocnejsie v zavislosti od dlzky daneho kluca a od algoritmu

 
Nahoru Odpovědět
10.2.2015 14:21
Avatar
Odpovídá na Lava
Matúš Petrofčík:10.2.2015 14:24

u mňa je to hash(); a algoritmus sha512 ktorý generuje 128-znakový string

uvediem príklad :D

public function getHash($string){
    return hash("sha512", $string . "solJodidovana158#@?");
}

niektorí robia tak, že každý užívateľ má ešte inú soľ, a videl som aj funkciu crypt() a bitový posun stringu :) na bežné veci ale postačí to čo som uviedol ako príklad, teda aspoň myslím :D

Nahoru Odpovědět
10.2.2015 14:24
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Tonda Kozák
Člen
Avatar
Odpovídá na Lava
Tonda Kozák:10.2.2015 14:34

No, prolomená šifra... U toho MD5 došlo k tomu, že se našlo pár kolizí - což vadí hlavně u digitálního podepisování, u schovávání hesel to zas takový problém není. Ale i přesto se moc nedoporučuje tuto funkci používat.
<i>(Mimochodem, šifru lze zpětně dekódovat, my se ale bavíme o hashování, tam je to jen jednosměrné.)</i>

U SHA1 je problém v rychlosti - je moc rychlá, proto se tabulka hashů dá vytvořit relativně snadno.

Z pomalých hashovacích funkcí zmíním třeba Bcrypt (nejdostupnější), kterou PHP používá ve funkcích password_hash() a crypt().
http://php.net/…assword_hash
http://php.net/function.crypt

Bacha na to, že password_hash() je dostupný až od PHP 5.5, takže někde to nemusí fungovat (nutno zjistit na hostingu).

Stejnou otázkou jsem se před nedávnem také zabýval a vybral jsem si crypt().

 
Nahoru Odpovědět
10.2.2015 14:34
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Lava
David Hartinger:10.2.2015 14:36

V PHP jsou od 5.5 nějaké nové fce. md5, sha1 i sha256 na hesla dnes již nestačí. Více info zde - http://php.net/…asswords.php

Nahoru Odpovědět
10.2.2015 14:36
You are the greatest project you will ever work on.
Avatar
Odpovídá na Lava
Neaktivní uživatel:10.2.2015 15:08

Sha512 je najlepšie šifrovanie v PHP

Nahoru Odpovědět
10.2.2015 15:08
Neaktivní uživatelský účet
Avatar
Uživatel sítě :10.2.2015 16:28

Hash jako takový vůbec původně nesloužil k ukládání hesel. Jednalo se spíže o převedení vstupních dat do kontrolního součtu/čísla, které je právě hash.

Většina hashů jsou prolomena tím způsobem, že na netu jsou databáze hashů a v kolika případech když dáte strejdovi(google) hash tak vám najde hned první výsledek, který řekne co se to pod tím hashem vlastně skrývá.

Když šifrovat hesla tak funkcí, která je k tomu určená (password_hash -> http://php.net/…ord-hash.php)

Neaktivní uživatel Nesouhlasím, sha512 ani k tomu není původně vůbec navržena.

Lava Použi funkci password_hash, s algoritmem bcrypt (PASSWORD_BCRYPT) a cost parametrem nejméně 12.
Salt v tomto případě nemusíš vůbec řešit, tato funkce si ji pro každého uživatele vytvoří sama. Nejlepší je vygenerovat sůl tím co ví jak na to..

Nahoru Odpovědět
10.2.2015 16:28
Chybami se člověk učí, běžte se učit jinam!
Avatar
Dominik Gavrecký:10.2.2015 16:44

Ja osobne používam md5 týmto štýlom.

md5(md5($_POST['password']))
Nahoru Odpovědět
10.2.2015 16:44
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Lava
Člen
Avatar
Odpovídá na Dominik Gavrecký
Lava:10.2.2015 17:03

No tak toto už je naozaj metal :D

A keď niekto prelomí, tak potom použiješ

md5(md5(md5($_POST["password"])))?
Nahoru Odpovědět
10.2.2015 17:03
Aspartám, sacharín, to je môj vitamín
Avatar
Uživatel sítě :10.2.2015 17:20

Tím, že zacyklíš ten hash tak ho nezpomalíš spíže zhoršíš/poškodíš ten algoritmus. Toto je největší hloupost, opravdu toto nepoužívat. MD5 vůbec nepoužívat ve spojení s heslem, vůbec k tomu není určený ani..

Nahoru Odpovědět
10.2.2015 17:20
Chybami se člověk učí, běžte se učit jinam!
Avatar
Odpovídá na Lava
Matúš Petrofčík:10.2.2015 17:32

lol :D fun, nebrať si príklad!

md5(sha1(password))
md5(md5(salt) + md5(password))
sha1(sha1(password))
sha1(str_rot13(password + salt))
md5(sha1(md5(md5(password) + sha1(password)) + md5(password)))
Nahoru Odpovědět
10.2.2015 17:32
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Nahoru Odpovědět
10.2.2015 17:44
Chybami se člověk učí, běžte se učit jinam!
Avatar
Odpovídá na Uživatel sítě
Neaktivní uživatel:10.2.2015 18:18

sha512 síce nie je priamo hashovacia funkcia na heslá ale nie každý server má PHP 5.5 a vyššie.

Nahoru Odpovědět
10.2.2015 18:18
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Uživatel sítě :10.2.2015 18:28

Tak stále můžeš použít crypt, ten podporuje také šifrování pomocí Blowfishe.
Pořád to je pomalejší než sha512.

Nahoru Odpovědět
10.2.2015 18:28
Chybami se člověk učí, běžte se učit jinam!
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 14 zpráv z 14.