パスワードをハッシュして mySql データベースに保存しようとしています。ローカルホストで保存する場合、これは問題ありませんでしたが、サーバーに移動したため、ハッシュ方式によりすべてが機能しなくなりました。ハッシュ コードを削除すると問題なく保存されますが、パスワードをハッシュしたいと考えています。同じコードがローカルで正常に動作し、Web ベースのコードが Sql に正常に接続するため、奇妙に思えます。ハッシュするさまざまな方法を試しましたが、試してみるとすぐに
"2013-10-15 22:37:07.915 UsernameAndPasswordwithphp[20249:a0b] サーバーからの応答 = "
それよりも
「2013-10-15 22:54:53.750 UsernameAndPasswordwithphp[21323:a0b] サーバーからの応答 = 接続が確立されたデータベースが選択されました」
私はphp 5.5.3を実行しています
よろしくお願いします!
ここに私のコードがあります
<?php
//session_start()
$host = "";
$user = "";
$pass = "";
$db = "";
$r = mysql_connect($host, $user, $pass);
if (!$r) {
echo "Could not connect to server\n";
trigger_error(mysql_error(), E_USER_ERROR);
} else {
echo "Connection established\n";
}
$r2 = mysql_select_db($db);
if (!$r2) {
echo "Cannot select database\n";
trigger_error(mysql_error(), E_USER_ERROR);
} else {
echo "Database selected\n";
}
$usernameFromApp = $_GET["f1"];
$nameFromApp = $_GET["f2"];
$passwordFromApp = $_GET["f3"];
$timeTarget = 0.2;
$cost = 9;
do {
$cost++;
$start = microtime(true);
password_hash($passwordFromApp, PASSWORD_BCRYPT, ["cost" => $cost]);
$end = microtime(true);
} while (($end - $start) < $timeTarget);
$hash = password_hash($passwordFromApp, PASSWORD_BCRYPT, ["cost" => $cost]);
echo "Appropriate Cost Found: " . $cost . "\n";
echo $hash."\n";
$name = $_GET["f2"];
$username = $_GET["f1"];
$password = $hash;
//$password = $_GET["f3"];
$query = "INSERT INTO user VALUES ('', '$name','$username','$password')";
mysql_query($query) or die (mysql_error("error"));
mysql_close();
?>