如果让crypt()生成salt,PHP中的crypt()函数是否会返回salt?


Does the crypt() function in PHP return the salt if you let crypt() generate the salt?

我想知道crypt()函数是否在不插入自己的salt的情况下返回salt。

例如:

1
2
3
4
5
<?php
  $password = $_POST['input'];
  $encpw = crypt($password /* no salt */);
  print $encpw;
?>

我知道这会用随机salt输出加密的密码,但是有没有任何方法可以输出随机生成的salt?


就在php文档之外(emphasis mine):

Parameters:

str
The string to be hashed.

salt
An optional salt string to base the hashing on. If not provided, the behaviour is defined by the algorithm implementation and can lead to unexpected results.