添加盐到哈希并生成URL ...?

时间:2014-11-18 14:42:50

标签: php md5 salt

我发现这是一个非常难以找到明确答案的主题!希望你们能帮忙......

我有以下代码

<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+

显然,制作的网址看起来并不完全如此,但你明白了......

我很难找到答案!

谢谢你们

3 个答案:

答案 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;