2016-02-29 4 views
1

До: Прошу прощения за мой английский.Как шифровать с помощью SHA256 и соли?

Ok прямо сейчас я использую следующий метод: шифровать

SHA256_PassHash (inputtext, "78sdjs86d2h", MyHash, SizeOf (MyHash));

SHA256 солевой: «78sdjs86d2h

Я сейчас проверка пароля, как это:

if(isset($_POST['username']) && isset($_POST['password'])){ 
    $username = mysql_real_escape_string($_POST['username']); 
    $password = mysql_real_escape_string($_POST['password']); 

    $check = get_row("SELECT playerID FROM playeraccounts WHERE playerName='$username' && playerPassword='$password'"); 
    if(isset($check['playerID'])) 
    { 
     $_SESSION['username'] = $_POST['username']; 
     $_SESSION['password'] = $_POST['password']; 
     mysql_query("UPDATE playeraccounts SET rpgon=1 WHERE playerName='$username'"); 
     $id = $check['playerID']; 
     header("location: index.php"); 
    } 
    else 
    { 
     $err = 'Username sau parola incorecte'; 
    } 
} 

Как я могу сделать это работать с этим методом соли Пожалуйста, я не очень ярким? о PHP ... может кто-нибудь просветить меня о том, как зашифровать текст ввода?

+0

Вы не должны обрабатывать имя пользователя/пароль в своем приложении или PHP-код напрямую. Скорее система проверки подлинности должна была сделать это для вас. –

+0

Посмотрите на https://github.com/PHPAuth/PHPAuth например –

+3

SHA256 является хеш-функцией. Вы не используете его для шифрования. –

ответ

3

не используйте SHA256 (который для будущей ссылки is a hash function, not an encryption method) для хранения паролей. Обратитесь к How to safely store your users' passwords для современных передовых методов.

Поскольку вы спрашиваете о PHP, вы хотите использовать password_hash() и password_verify().

Также beware of SQL injection corner cases.

Смежные вопросы