嘿家伙我正在尝试建立一个使用MD5加密密码的登录系统.我有加密工作,所有这只是出于某种原因,当我在登录页面输入密码"palmer"并点击登录按钮我发送给我一个页面,它告诉我加密密码和使用"palmer"作为它输出的密码"Duncan使用密码登录4844fd4088ef5278ad18f892808ebda8 - palmer".加密时数据库中的密码是"4669a6b46c8d891b373cfcd664dff6".为什么两个密码不同?我使用相同的盐(盐是"a123b123".
下面是我的代码,它在寄存器上加密密码:
$password = $_POST['password'];
$md5pass = md5($salt.md5($password));
Run Code Online (Sandbox Code Playgroud)
以下是我的登录代码.
<?php
session_start();
include('config/config.php');
$email = $_POST['email'];
$password = $_POST['password'];
$pass2 = md5($salt.md5($password));
$check = mysql_query("SELECT `email`,`password` FROM user WHERE (`email`='$email' AND `password`='$pass2')") or die(mysql_error());
$count = mysql_num_rows($check);
//if($count == 1) {
$_SESSION['user'] = strtoupper($user);
//header('Location: /panel/index.php');
echo("Duncan Logged in using password $pass2 - $pass");
//} else {
//$_SESSION['errormsg'] = "<div id='error'><strong>Error:</strong> Invalid Username or Password!</div>";
//header('Location: index.php');
//}
?>
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种良好的单向加密/散列方法,可以使用我的主机提供的算法之一来安全地存储密码.
以下是主持人提供的所有算法列表:http://www.eresig.tk/hash.php
可能重复:
PHP密码的安全散列和盐
为了加密php文件中的密码,我想更改为sha256或md5,而不是使用sha1作为iIwent进行在线研究,他们说sha1不是那么安全.
如何更改php文件?
<?php
class DB_Functions {
private $db;
//put your code here
// constructor
function __construct() {
require_once 'DB_Connect.php';
// connecting to database
$this->db = new DB_Connect();
$this->db->connect();
}
// destructor
function __destruct() {
}
/**
* Storing new user
* returns user details
*/
public function storeUser($name, $nric, $email, $license, $address, $postal_code, $password) {
$hash = $this->hashSSHA($password);
$encrypted_password = $hash["encrypted"]; // encrypted password
$salt = …
Run Code Online (Sandbox Code Playgroud) 我有以下代码,它将无法正常工作.我目前正在为系统开发一个简单的更改密码功能,并且无法使其正常运行.我想知道我是否忽略了一个非常简单的解决方案?
<?php
$con = mysql_connect("localhost","root");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
$username = $_POST['userid'];
$password = $_POST['cpword'];
$newpassword = $_POST['pword'];
$confirmnewpassword = $_POST['pword2'];
$result = mysql_query("SELECT username, pword FROM login WHERE username='$username'");
if(!$result) {
echo "The username entered does not exist!";
} else
if($password != mysql_result($result, 0)) {
echo "Entered an incorrect password";
}
if($newpassword == $confirmnewpassword) {
$sql = mysql_query("UPDATE login SET pword = '$newpassword' WHERE username = '$username'");
}
if(!$sql) {
echo "Congratulations, password …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用登录/注册wizerd的网站.我希望当用户登录登录时,注册链接将被注销链接替换.我可以这样做吗?我的代码在这里......
header.php文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body class="body">
<div id="inbody">
<div class="main_header">
<div class="site_name">
</div>
<div class="add">
<p><a class="link" href="add.php" style="text-decoration:none">Adds</a>   
<a class="link" href="login.php" style="text-decoration:none">login</a>   
<a class="link" href="register.php" style="text-decoration:none">Register</a></p>
</div>
</div>
<div class="main_body_part">
Run Code Online (Sandbox Code Playgroud)
home.php
<?php
include ("include/header.php");
?>
Run Code Online (Sandbox Code Playgroud)
login_success.php
<?php
include 'database.php';
session_start();
$u_name=$_POST['u_name'];
$password=$_POST['password'];
login($u_name, $password);
function login($name,$pass)
{
$sql = "SELECT * FROM registration WHERE user_name='$name'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
if($row['password']==$pass)
{
$_SESSION['id']=$row['user_id'];
header('Location:home.php');
}
else …
Run Code Online (Sandbox Code Playgroud) 我有一个小的登录表单,我将通过GET发送名称和密码,但我不想将密码放在纯文本的URL中.按下提交按钮之后,但是在通过GET发送之前,我可以Md5吗?
我很确定这段代码有问题:
$sql="select * from user where username={$_POST['username']}AND pwd= {$_POST['password']}";
$r = mysqli_query($link,$sql);
if($r)
{
$_SESSION['loggedin']=true;
echo "Welcome". $_POST['username'];
}
Run Code Online (Sandbox Code Playgroud) 有谁能告诉我这有什么不对吗?
function hashmyshit($pass){
for ( $i = 0; $i < 1000; $i++ ){
MD5($pass);
}
return $pass;
}
Run Code Online (Sandbox Code Playgroud)
以及如何多次迭代密码散列过程.
我搜索如何解密使用php解密存储在bcrypt中的密码,但我没有找到一个很好的解释.你能发一些有用的链接吗?Thx提前和抱歉我的英语
在Php中加密密码的最佳方法是什么?Codeigniter的文档说密码应该使用php的密码哈希扩展进行哈希处理.到目前为止,我一直在使用codeigniter的加密密钥加密密码.有什么建议.