7

登録するコードがいくつかありますが、パスワードをハッシュする方法がわかりません。sha512を使いたいです。

$con=mysqli_connect("localhost","root","","users");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="INSERT INTO users (username, password, email)
VALUES
('$_POST[username]','$_POST[password]','$_POST[email]')";

if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "Thank you.";

mysqli_close($con);

mysql ログインにパスワードがないことを認識しています。これは、テストに使用したローカル mysql サーバーです。

4

5 に答える 5

1

パスワードをハッシュする方法の例を次に示します。

<?php
$password = hash('sha512', $_POST[password]);

パスワードをソルトすることをお勧めします。詳細については、こちらをご覧ください:
http://www.aspheute.com/english/20040105.asp

「 mysqli_real_escape_string」についてもお読みください

…そしてプリペアド ステートメント

于 2013-07-22T20:59:11.867 に答える
1

最初に入力データをサニタイズします。$password = filter_input(INPUT_POST, 'password', FILTER_SANITIZE_STRING);

パスワード文字列をハッシュする

$hashedPassword = hash('sha512', $password);

パスワードをハッシュするより良い方法は、新しいパスワード ハッシュ API を使用することです。

$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
于 2013-07-22T20:59:29.560 に答える