Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

100% zabezpieczenie haseł (przy włamaniu do bazy danych)


Rekomendowane odpowiedzi

Opublikowano

Tak sobie pomyślałem...

Gdyby w php zrobić własne szyfrowanie typu:

Tablica .... "a" => "85hf4f3f".......

A potem replace("a", $var["a"]), albo nawet przy użyciu Klucza, czy nie zapewniło by to 100% bezpieczności baz danych (ale jak ktoś ci się włamie do plików to masz....)

 

Ew. Szyfrowanie haseł

Opublikowano

zamień sobie litery na ciągi, potem to hashuj i jak ktoś się loguje, zrób to samo, by porównać hashe, to już na prawdę "mocne" hasło będzie ;)

1384421583-U1041066.png

Opublikowano

Wpisz w wyszukiwarke registration form. I wybierz pierwszy z góry. Możesz pobrać stamtąd zabezpieczoną rejestracje, na 100% szczelna w sposób który podałeś.

Opublikowano

Wątpię że piszesz jakąś stronę dla firm, czy coś w tym stylu.

Myślę że wystarczyło by napisać klasę, która filtruje wszystkie $_GET oraz $_POST, jeżeli funkcja będzie dobrze napisana, to prawdopodobieństwo włamana na stronę spada o jakieś 50%

  • 2 miesiące temu...
Opublikowano

Czyżby? SPAM? 

 

Umiecie czytać?

 

100% zabezpieczenie haseł (przy włamaniu do bazy danych)

 

oczywiście że jak ktoś wykradnie pliki PHP z FTP, to pozna "to a'la szyfrowanie" i zrobi sobie z tego "szyfru" hasz.

 

Aktualnie mam takie "cuś"

 

 

<?php

class Hash {
    public function create_salt() {
        $string = rand(11111111, 99999999).rand(11111111, 99999999).rand(11111111, 99999999).uniqid(mt_rand(), true).uniqid(mt_rand(), true)."basesalt;;e293;Salt;";
        return hash("sha512", $string);
    }
    public function create_hash($password) {
    	$salt = array(
    		"1" => $this->create_salt(),
    		"2" => $this->create_salt()
    	);
        $hashed_password = '$1$'.hash("sha512", "BlueHash^".$salt["1"].$password.$salt["2"]."^").'$BluePass$1$';
        return array(
        	"password" => $hashed_password,
        	"salt" => array (
        		"1" => $salt["1"],
        		"2" => $salt["2"]
        	)
        );
    }
    public function check_hash($password, $hash, $salt, $salt2) {
    	$toreturn;
    	$salt = array(
    		"1" => $salt,
    		"2" => $salt2
    	);
        $hashed_password = '$1$'.hash("sha512", "BlueHash^".$salt["1"].$password.$salt["2"]."^").'$BluePass$1$';
        if($hashed_password === $hash){
        	$toreturn = TRUE;
        }
        else
        {
        	$toreturn = FALSE;
        }
        return $toreturn;
    }
    /*
    Hash System:
    
    $system["classes"]["hash"] = new Hash();
    Create Class in "Classes Var"
    
    $hash = $system["classes"]["hash"]->create_hash("some password");
    Create hash in "$hash"
    
    $hash -> Array
        password -> hashed password
        salt -> Array
            1 -> First Salt
            2 -> Second Salt
    
    How to check Hash:
    $system["classes"]["hash"]->check_hash($password, $hash, $salt, $salt2)
    
    $password -> Text Password
    $hash -> Hash to check (hash in DataBase)
    $salt -> salt in DataBase
    $salt2 -> second salt in database
    Return TRUE or FALSE
    
    
    /*
} 

 

 

Opublikowano

O jezu jakie kombinacje, głowa Cię nie boli?

Użyj bcrypta - jest to o niebo bezpieczniejsze od Twoich wypocin :c

 

Przykładowa implementacja (pseudokod):

function register($username, $password) {
    $hash = password_hash($password, PASSWORD_BCRYPT);
    save($user, $hash);
}

function login($username, $password) {
    $hash = loadHashByUsername($username);
    if (password_verify($password, $hash)) {
        //login
    } else {
        // failure
    }
}

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...