Файл: gapps/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php
Строк: 57
<?php
namespace IlluminateEncryption;
use RuntimeException;
use IlluminateSupportStr;
use IlluminateSupportServiceProvider;
class EncryptionServiceProvider extends ServiceProvider
{
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
$this->app->singleton('encrypter', function ($app) {
$config = $app->make('config')->get('app');
if (Str::startsWith($key = $config['key'], 'base64:')) {
$key = base64_decode(substr($key, 7));
}
return $this->getEncrypterForKeyAndCipher($key, $config['cipher']);
});
}
/**
* Get the proper encrypter instance for the given key and cipher.
*
* @param string $key
* @param string $cipher
* @return mixed
*
* @throws RuntimeException
*/
protected function getEncrypterForKeyAndCipher($key, $cipher)
{
if (Encrypter::supported($key, $cipher)) {
return new Encrypter($key, $cipher);
} elseif (McryptEncrypter::supported($key, $cipher)) {
return new McryptEncrypter($key, $cipher);
} else {
throw new RuntimeException('No supported encrypter found. The cipher and / or key length are invalid.');
}
}
}