/var/www/flurhymez/vendor/laravel/framework/src/Illuminate/Validation
NameSizeModeActions
Concerns/-0755rm
Rules/-0755rm
ClosureValidationRule.php13220644editdlrm
composer.json13280755editdlrm
ConditionalRules.php17040644editdlrm
DatabasePresenceVerifier.php37120755editdlrm
DatabasePresenceVerifierInterface.php2870755editdlrm
Factory.php87360755editdlrm
LICENSE.md10750644editdlrm
NotPwnedVerifier.php25850644editdlrm
PresenceVerifierInterface.php8460755editdlrm
Rule.php28030644editdlrm
UnauthorizedException.php1280644editdlrm
ValidatesWhenResolvedTrait.php20030644editdlrm
ValidationData.php29480644editdlrm
ValidationException.php29970644editdlrm
ValidationRuleParser.php81370644editdlrm
ValidationServiceProvider.php21820755editdlrm
Validator.php389080755editdlrm
Edit: /var/www/flurhymez/vendor/laravel/framework/src/Illuminate/Validation/NotPwnedVerifier.php (2585B)
factory = $factory; $this->timeout = $timeout ?? 30; } /** * Verify that the given data has not been compromised in public breaches. * * @param array $data * @return bool */ public function verify($data) { $value = $data['value']; $threshold = $data['threshold']; if (empty($value = (string) $value)) { return false; } [$hash, $hashPrefix] = $this->getHash($value); return ! $this->search($hashPrefix) ->contains(function ($line) use ($hash, $hashPrefix, $threshold) { [$hashSuffix, $count] = explode(':', $line); return $hashPrefix.$hashSuffix == $hash && $count > $threshold; }); } /** * Get the hash and its first 5 chars. * * @param string $value * @return array */ protected function getHash($value) { $hash = strtoupper(sha1((string) $value)); $hashPrefix = substr($hash, 0, 5); return [$hash, $hashPrefix]; } /** * Search by the given hash prefix and returns all occurrences of leaked passwords. * * @param string $hashPrefix * @return \Illuminate\Support\Collection */ protected function search($hashPrefix) { try { $response = $this->factory->withHeaders([ 'Add-Padding' => true, ])->timeout($this->timeout)->get( 'https://api.pwnedpasswords.com/range/'.$hashPrefix ); } catch (Exception $e) { report($e); } $body = (isset($response) && $response->successful()) ? $response->body() : ''; return Str::of($body)->trim()->explode("\n")->filter(function ($line) { return Str::contains($line, ':'); }); } }