JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr{ gilour
<?php namespace Laravel\Fortify; use BaconQrCode\Renderer\Color\Rgb; use BaconQrCode\Renderer\Image\SvgImageBackEnd; use BaconQrCode\Renderer\ImageRenderer; use BaconQrCode\Renderer\RendererStyle\Fill; use BaconQrCode\Renderer\RendererStyle\RendererStyle; use BaconQrCode\Writer; use Laravel\Fortify\Contracts\TwoFactorAuthenticationProvider; trait TwoFactorAuthenticatable { /** * Get the user's two factor authentication recovery codes. * * @return array */ public function recoveryCodes() { return json_decode(decrypt($this->two_factor_recovery_codes), true); } /** * Replace the given recovery code with a new one in the user's stored codes. * * @param string $code * @return void */ public function replaceRecoveryCode($code) { $this->forceFill([ 'two_factor_recovery_codes' => encrypt(str_replace( $code, RecoveryCode::generate(), decrypt($this->two_factor_recovery_codes) )), ])->save(); } /** * Get the QR code SVG of the user's two factor authentication QR code URL. * * @return string */ public function twoFactorQrCodeSvg() { $svg = (new Writer( new ImageRenderer( new RendererStyle(192, 0, null, null, Fill::uniformColor(new Rgb(255, 255, 255), new Rgb(45, 55, 72))), new SvgImageBackEnd ) ))->writeString($this->twoFactorQrCodeUrl()); return trim(substr($svg, strpos($svg, "\n") + 1)); } /** * Get the two factor authentication QR code URL. * * @return string */ public function twoFactorQrCodeUrl() { return app(TwoFactorAuthenticationProvider::class)->qrCodeUrl( config('app.name'), $this->email, decrypt($this->two_factor_secret) ); } }