我创建了一个可以下载电影和电视剧的小网站。在那里,我添加了用户注册和登录系统。我使用xampp最新版本(php版本5.6.19)来检查网站。在注册php文件中,我添加了密码盐技术。它在xampp中完美运行。我托管我的网站后,它没有工作。密码salt不会生成并存储在数据库中。但用户名,电子邮件和密码将成功进入数据库。
register.php
mrmovq 16(%rbp), %rdx
hash.php
<?php
require_once 'core/init.php';
if(Input::exists()){
$user = new User();
$salt = Hash::salt(32);
try{
$user->create(array(
'uname' => Input::get('uname'),
'mail' => Input::get('mail'),
'pass' => Hash::make(Input::get('pass'), $salt),
'salt' => $salt
));
Session::flash('home', 'You have registered successfully now you can log in !');
Redirect::to('index.html');
}catch(Exception $e){
die($e->getMessage());
}
}
?>
user.php的
<?php
class Hash{
public static function make($string, $salt = ''){
return hash('sha256', $string . $salt);
}
public static function salt($length){
return mcrypt_create_iv($length);
}
public static function unique(){
return self::make(uniqid());
}
}
可能导致问题的原因......
答案 0 :(得分:1)
检查您的网络主机上的PHP安装是否支持您的hash
功能
您可以在salt
函数 - bin2hex(mcrypt_create_iv(30, MCRYPT_DEV_RANDOM))