PHP function not returning value

前端 未结 2 1575
栀梦
栀梦 2021-01-29 15:06

For some reason I can not get my function to return a string...

$password = crypt_password_input($password, \"\");

//Encrypt Password longer than 8 characters
f         


        
2条回答
  •  攒了一身酷
    2021-01-29 15:49

    I am not sure about your logic, but your code should be like this:

    $password = crypt_password_input($password, "");
    
    //Encrypt Password longer than 8 characters
    function crypt_password_input($inputPassword, $newPassword)
    {
        $passwordLength = strlen($inputPassword);
    
        if($passwordLength > 8)
        {
            $encryptString = substr($inputPassword, 0, 8);
            $inputPassword = substr($inputPassword, 8);
            $newPassword .= crypt($encryptString, "HIDDENSALT");
            return crypt_password_input($inputPassword, $newPassword);
        }
        else
        {
            $newPassword .= crypt($inputPassword, "HIDDENSALT");
            echo "Final: " . $newPassword . "
    "; return $newPassword; } } echo "Encrypted from the input: " . $password . "
    ";

    In your code, you are recursively calling the input but not returning anything, so it fails if you have password longer than 8 characters.

提交回复
热议问题