Titkosított jelszavak

szavazat
27

Mi a leggyorsabb, mégis biztonságos módon titkosítani jelszavak (PHP előnyös), és amelyre fizetési módszert is van hordozható?

Más szóval, ha azt később vándorolnak a honlapom egy másik szerver Jelszavaim folytatja a munkát?

A módszer Én használ most azt mondták, függ a pontos változatai a könyvtárak telepítve a szerverre.

A kérdést 03/08/2008 12:50
a forrás felhasználó
Más nyelveken...                            


8 válasz

szavazat
29

Ha a választott titkosítási módszer a bejelentkezési rendszert, majd a sebesség nem a barátja, Jeff volt ide-frow Thomas Ptacek körülbelül jelszavak és a következtetés az volt, hogy kell használni a leglassabb, legbiztonságosabb titkosítási módszert megengedheti magának, hogy .

Thomas Ptacek blogja:
Speed pontosan mit nem akar a jelszó hash függvény.

Modern jelszó rendszereket támadott inkrementális jelszó kekszet.

Inkrementális kekszet nem előre kiszámítani az összes lehetséges repedt jelszavakat. Úgy vélik, minden jelszó hash egyénileg, és etetnek az szótárt a jelszó hash függvény ugyanúgy a PHP bejelentkezési oldal lenne. Rainbow asztal kekszet mint Ophcrack térhasználatát támadni jelszavakat; inkrementális kekszet, mint John the Ripper, Crack, és LC5 munka ideje: statisztikák és számítási.

A jelszó támadás játék lőtt idő feltörni a jelszót X. Rainbow táblák, hogy az idő múlik, hogy mekkora a táblázatot kell lennie, és milyen gyorsan tud keresni. Az inkrementális kekszet, az idő múlik, hogy milyen gyorsan lehet, hogy a jelszó hash függvény futtatását.

Minél jobban lehet optimalizálni a jelszó hash függvény, annál gyorsabb a jelszó hash függvény lesz, annál gyengébb a rendszer. MD5 és SHA1, sőt a hagyományos blokk titkosításokat például a DES, úgy tervezték, hogy gyors lesz. MD5, SHA1, és a DES gyenge jelszó hash. A modern processzorok, nyers kriptográfiai építőelemek, mint a DES és az MD5 lehet bitsliced, vectorized és párhuzamosított, hogy jelszavát keresések villámgyors. Game over FPGA megvalósítások költség csak száz dollárt.

Válaszolt 03/08/2008 13:48
a forrás felhasználó

szavazat
14

Vagyok Peter. Fejlesztő nem érti jelszavakat. Mindannyian felvenni (és bűnös vagyok ennek is) MD5 vagy SHA1, mert gyors. Gondol rá ( "mer valaki nemrég rámutatott: nekem), hogy nincs semmi értelme. Mi kell még szedés algoritmus ez hülyeség lassú. Úgy értem, a skála a dolgok, egy forgalmas hely lesz hash jelszavakat, mi? Minden 1/2 perc alatt? Kit érdekel, ha ez fog 0,8 másodperc vs 0,03 másodperc szerver bölcs? De hogy extra lassúság hatalmas megakadályozására valamennyi közös brute-forcish támadásokat.

Az én olvasás, bcrypt kifejezetten biztonságos jelszó hash. Ez alapján gömbhal, és sok végrehajtását.

PHP, nézd meg PHPPass http://www.openwall.com/phpass/

Mert bárki is .NET, nézd meg BCrypt.NET http://derekslager.com/blog/posts/2007/10/bcrypt-dotnet-strong-password-hashing-for-dotnet-and-mono.ashx

Válaszolt 03/08/2008 14:48
a forrás felhasználó

szavazat
2

Én nem feltétlenül keresnek a leggyorsabb, de egy szép egyensúly, néhány szerver, hogy ez a kód kerül kifejlesztett meglehetősen lassú, a forgatókönyvet, hogy hash és tárolja a jelszót vesz 5-6 másodpercig fut, és én már szűkült le, hogy a hash (ha hozzászólok tördelő ki fut, 1-2 másodperc).

Nem kell, hogy a legbiztonságosabb, nem vagyok codding egy bank (most), de én biztosan NEM tárolja a jelszavakat, mint az egyszerű szöveges.

Válaszolt 05/08/2008 00:07
a forrás felhasználó

szavazat
8

Meg kell állapítani, hogy nem szeretné, hogy titkosítja a jelszót, azt szeretnénk, hogy a hash- azt.

A titkosított jelszavak lehet visszafejteni, hagyta, hogy valaki lássa a jelszó. Hash egy egyirányú működés, így a felhasználó eredeti jelszó (titkosított) eltűnt.


Ami ami algoritmust kell választani - használja a jelenleg elfogadott szabvány egy:

  • SHA-256

És ha hash a felhasználó jelszavát, ügyeljen arra, hogy hash néhány más junk vele. például:

  • Jelszó: password1
  • só: PasswordSaltDesignedForThisQuestion

Hozzáfűzése a sót a felhasználó jelszavát:

String s = HashStringSHA256("password1PasswordSaltDesignedForThisQuestion");
Válaszolt 17/09/2008 19:06
a forrás felhasználó

szavazat
7

Bármit is teszel, ne írj saját titkosító algoritmust. Ez a művelet szinte garantálja (kivéve, ha a titkosírás), hogy lesz egy hiba az algoritmus teszi, hogy triviális feltörni.

Válaszolt 17/09/2008 19:16
a forrás felhasználó

szavazat
2

Tekintsük használni bcryptezt használják számos modern keretek, mint laravel.

Válaszolt 16/07/2016 07:47
a forrás felhasználó

szavazat
0

password_hash ( string $password , int $algo [, array $options ] ). (PHP 5> = 5.5.0, PHP 7)

password_hash () létrehoz egy új jelszót hash egy erős egyirányú algoritmus. password_hash () kompatibilis crypt (). Ezért jelszó hash által létrehozott crypt () használható password_hash ().

Válaszolt 18/05/2018 18:27
a forrás felhasználó

szavazat
0

Használja ezt a funkciót, amikor behelyezi az adatbázisban Password_harsh ($ jelszó PASSWORD_DEFAULT); És amikor kiválasztja az adatbázisból, hogy összehasonlítsa a jelszót behelyezésekor az egy az adatbázist a funkciót, ha (password_verify ($ jelszó $ databasePassword)) {

}else{
echo "password not correct";
}

Ez akarat durva a jelszót egy biztonságos formátumban

Válaszolt 09/11/2019 13:05
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more