在CodeIgniter的最新版本中,我使用了函数// Swap the first index with the last index.
// [1, 2, 3, 4, 5] -> pointer on one = array[0] and two = array.count - 1
// After first swap+loop increase the pointer one and decrease pointer two until
// conditional is not true.
func reverseInteger(array: [Int]) -> [Int]{
var array = array
var first = 0
var last = array.count - 1
while first < last {
array.swapAt(first, last)
first += 1
last -= 1
}
return array
}
input-> [1, 2, 3, 4, 5] return->[5, 4, 3, 2, 1]
我用过:
decode()
但是在php 7.2中if($row->accesso == 1 && $row->username == $username $$ $this->obj->encrypt->decode("$row->password") == $password )
被删除了。如果我使用加密库的mcrypt
或encrypt
,则登录时会出错。我无法输入我的页面。你能帮我吗?
谢谢!
答案 0 :(得分:1)
尝试使用password_hash
/ password_verify
:
测试:
尝试首先使用password_hash()
创建用户密码,然后手动将其存储在数据库中,
password_hash('password123', PASSWORD_DEFAULT);
它将输出为:$2y$10$8UgJIh.KAnDc1/b.4gb33eaBtrDRgXb2kQt8oNO0GKRe6sIFKR8IC
然后进行验证,您可以使用password_verify()
来检查用户的密码输入是否等于数据库中的hashed password
。为此功能使用if else statement
。 password_verify()
还会为每个匹配的哈希字符串返回true。 (让我们假设$password = 'password123'
和$hashed_password = $2y$10$8UgJIh.KAnDc1/b.4gb33eaBtrDRgXb2kQt8oNO0GKRe6sIFKR8IC
来进行检查:
if(password_verify($password,$hashed_password)) { successful login } else { failure }
您可以阅读有关password_hash()和password_verify()的更多信息,以获取更多详细说明。
这只是一个示例,可能无法在当前代码上运行,因为您似乎使用了其他哈希函数。希望这会有所帮助!