throw exception if padding is invalid.

This commit is contained in:
Taylor Otwell
2012-02-16 14:53:22 -06:00
parent 1324ba368c
commit bb0967cceb

View File

@@ -131,7 +131,20 @@ class Crypter {
{
$pad = ord($value[($length = Str::length($value)) - 1]);
return substr($value, 0, $length - $pad);
if ($pad and $pad < static::$block)
{
// If the correct padding is present on the string, we will remove
// it and return the value. Otherwise, we'll throw an exception
// as the padding appears to have been changed.
if (preg_match('/'.chr($pad).'{'.$pad.'}$/', $value))
{
return substr($value, 0, $length - $pad);
}
throw new \Exception("Decryption error. Padding is invalid.");
}
return $value;
}
/**