Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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 Codeigniter-使用加密库登录_Php_Codeigniter - Fatal编程技术网

Php Codeigniter-使用加密库登录

Php Codeigniter-使用加密库登录,php,codeigniter,Php,Codeigniter,我使用codeigniter加密库创建了一个注册表单,用于存储用户密码,如下所示: $encrypted_password = $this->encrypt->encode($this->input->post('password')); 我注意到,每次我们加密事件时,如果我们加密相同的密码,加密函数就会产生不同的输出 我的问题如下: 当用户尝试登录系统时,比较两个加密密码的最佳方法是什么,因为我们知道每次加密都会得到不同的加密字符串?请看这里: encription

我使用codeigniter加密库创建了一个注册表单,用于存储用户密码,如下所示:

$encrypted_password = $this->encrypt->encode($this->input->post('password')); 
我注意到,每次我们加密事件时,如果我们加密相同的密码,加密函数就会产生不同的输出

我的问题如下: 当用户尝试登录系统时,比较两个加密密码的最佳方法是什么,因为我们知道每次加密都会得到不同的加密字符串?

请看这里:

encription类使用符号编码。因此,要进行比较,您必须解密密码并进行比较。如果您想使用单向方法use hashing,请纠正我的错误,但codeigniter最多只支持sha1,因此可以在此处查看本机php提供的功能:


您还可以将这两种方法结合使用,即散列和加密。

CodeIgniter中的do_散列函数默认使用SHA1,但如果指定了MD5,则也可以使用MD5。对于密码来说,这听起来并不好:
$encrypted_string = 'APANtByIGI1BpVXZTJgcsAG8GZl8pdwwa84';

$plaintext_string = $this->encrypt->decode($encrypted_string);