我需要在活动记录查询中使用crypt函数。MySQL查询: SELECT id FROM users WHERE email = 'johndoe@mail.com' AND password_hash = crypt('johnspassword',password_hash); 我想把它转换成Yii1中的活动记录查询。我的查询如下所示。但它显示了错误。 $criteria = new CDbCriteria();
$criteria->condition = 'username = :username AND password_hash
我正在尝试创建一个User类,它将只存储散列密码
class User
# Password should be stored only as hash in @password_hash,
# crypted by that function:
def self.crypt(password)
# Returns password hash
end
# Crypt password and store it in @password_hash
def password=(str)
@password_hash = crypt(str)
end
我想知道密码哈希是如何生成的?
// This is my code:
$email="mail@example.net";
$password="mypassword";
// How to get password_hash variable?
$user = User::find()->where(['email'=>$email, 'password_hash'=>$password_hash])->one();
if(isset($user)){
echo "there is&
好的。我做了一项很大的研究,但我没有任何密码/哈希知识。在我自己的机器上,我得到了php5.5,我使用的是password_hash函数。我刚刚意识到,我的在线托管有最大的PHP 5.4。
我有一个用于加密的特殊类,这就是为什么不需要做太多的更改(希望如此)。以下是我的简单代码:
class Enigma {
public static function hash($password) {
return password_hash($password, PASSWORD_DEFAULT);
}
public static function verify(
我阅读并遵循了一篇关于password_hash的PHP文档,得到了如下结果:
<?php
// first determine if a supplied password is valid
$options = ['cost' => 12,];
$hashedPassword = password_hash($plaintextPassword, PASSWORD_DEFAULT, $options);
if (password_verify($plaintextPassword, $hashedPassword)) {
// now det
我修改了我以前的帖子。我尝试了crypt()函数,现在尝试使用password_hash()和password_verify()来验证来自数据库的加密密码,但是在每次调用时,password_hash()函数都会返回一个不同的加密字符串,而password_verify()无法匹配它。
这就是我所做的。
//please ignore the syntax error if any
$data = '11';
$dbpass = password_hash($data, PASSWORD_BCRYPT);
echo $dbpass; // displays the ran