pozdrav,
napravio sam register skriptu za unity 3d, tako da se regam u unity 3d pa podaci udju u bazu
i sve uredno, uspjesno se regam i podaci budu u bazi ali sa lozinkom nesto ne valja
problem je kad upisem neku lozinku npr: 12345 znak bude cudan… ovakav : '`Îm
„ø²Î›¿“³þ¿â<ª¬1„àÜà,ŒÉ,Þáa&š©•ۀдbóË!Ÿ1g a kada ostavim praznu sifru kod registriranja dobijem ovo npr
569b6d3720dbe13c1aa20a163ac661064b2d0f3bc9a6f4b8d0…
stvarno ne znam u cemu je problem, guglo sam ali nisam mogo naci
evo cod 
<?php
define("PBKDF2_HASH_ALGORITHM", "sha256");
define("PBKDF2_ITERATIONS", 10000);
define("PBKDF2_SALT_BYTE_SIZE", 128);
define("PBKDF2_HASH_BYTE_SIZE", 24);
define("HASH_SECTIONS", 4);
define("HASH_ALGORITHM_INDEX", 0);
define("HASH_ITERATION_INDEX", 1);
define("HASH_SALT_INDEX", 2);
define("HASH_PBKDF2_INDEX", 3);
$host = "localhost";
$user = "root";
$lozinka = "";
$baza = "www404";
$bazaerror = "Ne mogu se spojiti direkt na bazu";
$hashedinput = hash('sha256', $password);
$salt = mcrypt_create_iv(16, MCRYPT_DEV_URANDOM);
$conn = mysqli_connect($host, $user, $lozinka);
mysqli_select_db($conn, $baza) or die ($bazaerror);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$password = pbkdf2 ('sha256', $hashedinput, $salt, 10000, 64, @mysqli_real_escape_string($conn,$_REQUEST["password"]));
$email = @mysqli_real_escape_string($conn,$_REQUEST["email"]);
$check = mysqli_query($conn, "SELECT * FROM korisnici WHERE email = '".$email."'");
$usercheck = mysqli_num_rows($check);
if($usercheck == 0){
$d = 'INSERT INTO korisnici (email,password) VALUES ("'.$email.'", "'.$password.'")';
mysqli_query($conn,$d) or die (mysqli_error($conn));
if($d)
die("success");
}else{
die("postoji");
}
//algoritam
function create_hash($password)
{
// format: algorithm:iterations:salt:hash
$salt = base64_encode(mcrypt_create_iv(PBKDF2_SALT_BYTE_SIZE, MCRYPT_DEV_URANDOM));
return PBKDF2_HASH_ALGORITHM . ":" . PBKDF2_ITERATIONS . ":" . $salt . ":" .
base64_encode(pbkdf2(
PBKDF2_HASH_ALGORITHM,
$password,
$salt,
PBKDF2_ITERATIONS,
PBKDF2_HASH_BYTE_SIZE,
true
));
}
function validate_password($password, $correct_hash)
{
$params = explode(":", $correct_hash);
if(count($params) < HASH_SECTIONS)
return false;
$pbkdf2 = base64_decode($params[HASH_PBKDF2_INDEX]);
return slow_equals(
$pbkdf2,
pbkdf2(
$params[HASH_ALGORITHM_INDEX],
$password,
$params[HASH_SALT_INDEX],
(int)$params[HASH_ITERATION_INDEX],
strlen($pbkdf2),
true
)
);
}
// Compares two strings $a and $b in length-constant time.
function slow_equals($a, $b)
{
$diff = strlen($a) ^ strlen($b);
for($i = 0; $i < strlen($a) && $i < strlen($b); $i++)
{
$diff |= ord($a[$i]) ^ ord($b[$i]);
}
return $diff === 0;
}
function pbkdf2($algorithm, $password, $salt, $count, $key_length, $raw_output = false)
{
$algorithm = strtolower($algorithm);
if(!in_array($algorithm, hash_algos(), true))
trigger_error('PBKDF2 ERROR: Invalid hash algorithm.', E_USER_ERROR);
if($count <= 0 || $key_length <= 0)
trigger_error('PBKDF2 ERROR: Invalid parameters.', E_USER_ERROR);
if (function_exists("hash_pbkdf2")) {
// The output length is in NIBBLES (4-bits) if $raw_output is false!
if (!$raw_output) {
$key_length = $key_length * 2;
}
return hash_pbkdf2($algorithm, $password, $salt, $count, $key_length, $raw_output);
}
$hash_length = strlen(hash($algorithm, "", true));
$block_count = ceil($key_length / $hash_length);
$output = "";
for($i = 1; $i <= $block_count; $i++) {
// $i encoded as 4 bytes, big endian.
$last = $salt . pack("N", $i);
// first iteration
$last = $xorsum = hash_hmac($algorithm, $last, $password, true);
// perform the other $count - 1 iterations
for ($j = 1; $j < $count; $j++) {
$xorsum ^= ($last = hash_hmac($algorithm, $last, $password, true));
}
$output .= $xorsum;
}
if($raw_output)
return substr($output, 0, $key_length);
else
return bin2hex(substr($output, 0, $key_length));
}
mysqli_close($conn);
?>