Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我想知道我是否使用OO正确加密密码_Php - Fatal编程技术网

Php 我想知道我是否使用OO正确加密密码

Php 我想知道我是否使用OO正确加密密码,php,Php,我有这种怀疑已经有一段时间了,因为我不知道我是否真的正确地加密了数据,在实例化类和调用函数时是否传递了正确的值,而且我也不知道使用密码\u散列返回的函数是否正确 我相信这是正确的,散列可以完美地工作,但我想确保我的代码没有问题,因为我是一个新手,面向对象可能会让我有点困惑 <?php class SignUp { private $email; private $password; public function setEmail($e) {

我有这种怀疑已经有一段时间了,因为我不知道我是否真的正确地加密了数据,在实例化类和调用函数时是否传递了正确的值,而且我也不知道使用
密码\u散列

返回的函数是否正确 我相信这是正确的,散列可以完美地工作,但我想确保我的代码没有问题,因为我是一个新手,面向对象可能会让我有点困惑

<?php


class SignUp {

    private $email;
    private $password;


    public function setEmail($e) {
        $this->email = $e;
    }

    public function getEmail() {
        return $this->email;
    }

    public function setPassword($p) {
        $this->password = $p;
    }

    public function getPassword() {
        return $this->password = password_hash($_POST['password'], PASSWORD_BCRYPT);
    }
}

$obj = new SignUp();
$obj->setEmail($_POST['email']);
$obj->setPassword($_POST['password']);

您应该在setter中散列密码,并将
getPassword()
方法重命名为
getPasswordHash()
,以明确它是散列密码,而不是原始密码。因此,您的意思是我需要在setter中使用它:$this->password=password\u hash($p,password\u BCRYPT)?没错。