如何在php中将随机数添加到字符串中(加密密码)
我正在学习PHP,我发现我们需要保护数据库中用户的密码,例如: 在我们的数据库中,我们有密码“BonjourLaFrance”,但我们必须使用如何在php中将随机数添加到字符串中(加密密码),php,mysql,sha1,password-encryption,Php,Mysql,Sha1,Password Encryption,我正在学习PHP,我发现我们需要保护数据库中用户的密码,例如: 在我们的数据库中,我们有密码“BonjourLaFrance”,但我们必须使用sha1来获得类似的密码:“31d9f30301559bf1154acc72425724635c9f3af1” 但是有一些网站可以解密sha1或md5函数,所以我们必须添加一个随机数。 但是如果我做了sha1($password),rand(),我们只需要删除最后的数字就可以得到正确的密码,对吗 我想把函数的结果 RAND()>代码>在这个字符串的中间,到
sha1
来获得类似的密码:“31d9f30301559bf1154acc72425724635c9f3af1”
但是有一些网站可以解密sha1
或md5
函数,所以我们必须添加一个随机数。
但是如果我做了sha1($password),rand(),我们只需要删除最后的数字就可以得到正确的密码,对吗
我想把函数的结果<代码> RAND()>代码>在这个字符串的中间,到第五位(对于函数<代码> RAND)(/CUL> >返回555):
31d9f30301559bf1154acc72425724635c9f3af1 31d9f55530301559bf1154acc72425724635c9f3af1 我该怎么做?这是正确的加密技术吗?还有其他更简单或更安全的技术吗提前谢谢你 您可以使用PHP内置的
密码\u散列
函数
下面是一个例子:
$password = "yourpassword";
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
要检查密码是否正确,请执行以下操作:
if(password_verify($password, $hashed_password)){
// the password is correct
}
查看更多示例。您想过使用PHP库吗?为什么要使用SHA1来存储密码?嘿,你也可以将它们存储为纯文本。你最好使用
password\u hash()
来做这个,真的。顺便说一句,你不想加密,你想散列。这里有两种不同的动物。很清楚,这叫做散列密码,而不是加密。加密是可以解密的,散列是单向的。@GrumpyCrouton我想你是想在OP的问题下发表你的评论,而不是回答。是吗?@grumpycruton啊,好吧。谢谢你的澄清,我到现在还不知道;-)