我发现这是一个非常难以找到明确答案的主题!希望你们能帮忙......
我有以下代码
<form action='test2.php?' name ='gen' method='post'>
Text to hash <input type='text' name='pass'><br />
<input type='submit' value='Go!'>
</form>
<?php
$pass2=$_POST['pass'];
$pass=md5($pass2);
echo $pass;
?>
如何在用户输入的文本末尾添加SPECIFIC salt代码?例如,如果用户输入PETERPAN,我想输入; LivesForever作为salt,这显然会返回哈希码。
然后我想用输入文本和散列代码生成一个url。这只需要出现在输入框下方的div中。
所以网址看起来像这样......
http://www.website.com/+USER_INPUT_VALUE+/randomfolder/+HASH_PRODUCED+
显然,制作的网址看起来并不完全如此,但你明白了......
我很难找到答案!
谢谢你们
答案 0 :(得分:2)
根据你的描述:
$random = 'dolly'; // specific salt
$pass2 = $_POST['pass'] . $random; // add it to user input
$pass = md5($pass2); // md5() both
$url = 'http://www.website.com/'.$_POST['pass'].'/'.$random.'/'.$pass; // the url you need
echo $pass.'<br>'.$url;
答案 1 :(得分:1)
你可以做一些像
这样的事情$pass = md5($pass2 . $salt)
但是,如果您想要实际执行安全散列,则password_hash之类的函数更适合。
请注意,哈希不仅仅是一种包罗万象的安全方法。根据您的用例,这可能不太安全。在使用哈希之前研究潜在的安全向量是值得的。
答案 2 :(得分:0)
您可以将salt字符串连接到用户输入字符串的末尾。
<?php
$pass2=$_POST['pass'] . 'LivesForever';
$pass=md5($pass2);
echo $pass;
?>
然后建立网址:
$url = 'http://www.website.com/' . $_POST['pass'] . '/' . $randomfolder . '/' . $pass;