PHP Sha256哈希用户提交的内容是否安全,而无需先进行审核?

时间:2015-08-07 03:40:07

标签: php hash sha256

我想允许用户通过textarea表单提交提交输入,并对提交的文本执行SHA256哈希。哈希容易受到攻击吗?我应该在散列之前“清理”输入吗?如果是这样,最好的方法是什么?是否足以使用strip_tags或者我可以通过对字符串等执行htmlspecialchars()函数来转换输入。

代码示例

    <html>
    <head>
      <title>SHA256 on user input</title>
    </head>

    <body>

    <?
    if ($_SERVER['REQUEST_METHOD'] != 'POST' || empty($_POST['hashThis']) ):
    ?>
    <form name="user_data" method="POST" action="">
    <textarea name="hashThis"></textarea>
    <input type="submit" name="submit" value="submit" />
    </form>
    <?
    else:
    echo hash('sha256', $_POST['hashThis']);
    endif;
    ?>
    </body>

    </html>

1 个答案:

答案 0 :(得分:1)

只要执行哈希是用户输入的唯一事情,这是非常安全的。您不需要对数据进行任何类型的预处理以使其可以安全地进行散列,并且只要您没有打开原始输出(默认情况下它是关闭的),输出就可以安全打印。