无法地穴::从工匠命令解密Laravel /流明

问题描述:

我的工作需要存储加密信息的存储,更新,显示(在控制器使用)的项目工作正常使用use Illuminate\Support\Facades\Crypt;无法地穴::从工匠命令解密Laravel /流明

但是,当我需要创建一个命令来在计划运行,在命令我需要得到未加密的代码,但是当我使用它,它表明

的MAC无效

:当我使用use Crypt;,在控制器做工精细的代码,但在命令,它说

类“地穴”未找到

在命令的代码(函数topupSim()导致错误):

​​

topupSim功能,代码使用隐窝:

public static function topupSim(Sim $sim, TopupCode $topupCode) 
{ 
    $code = $topupCode->getCode(); 
    $serial = $topupCode->getSerial(); 

    //TODO: Do topup for sim 
    if (false /*Success*/) { 

     $topupCode->setUse(); 

     return true; 
    } 

    return false; 
} 

2功能getCode()getSerial()使用隐窝,这两个函数都是在示范

public function getCode() 
{ 
    $code = Crypt::decrypt($this->getAttribute('code')); 
    return $code; 
} 

public function getSerial() 
{ 
    $serial = Crypt::decrypt($this->getAttribute('serial')); 
    return $serial; 
} 

日志文件:

[2016-08-19 02:58:57] lumen.INFO: ** TopUpForCriticalSimsCommand: started 
[2016-08-19 03:01:02] lumen.ERROR: exception 'Illuminate\Contracts\Encryption\DecryptException' with message 'The MAC is invalid.' in D:\working-tools\xampp\htdocs\VedSmsGateway\source\sms_gateway\vendor\illuminate\encryption\BaseEncrypter.php:48 
Stack trace: 
#0 D:\working-tools\xampp\htdocs\VedSmsGateway\source\sms_gateway\vendor\illuminate\encryption\Encrypter.php(96): Illuminate\Encryption\BaseEncrypter->getJsonPayload('eyJpdiI6InBFT2d...') 
#1 D:\working-tools\xampp\htdocs\VedSmsGateway\source\sms_gateway\vendor\illuminate\support\Facades\Facade.php(218): Illuminate\Encryption\Encrypter->decrypt('eyJpdiI6InBFT2d...') 
#2 D:\working-tools\xampp\htdocs\VedSmsGateway\source\sms_gateway\app\Models\TopupCode.php(114): Illuminate\Support\Facades\Facade::__callStatic('decrypt', Array) 
#3 D:\working-tools\xampp\htdocs\VedSmsGateway\source\sms_gateway\app\Models\TopupCode.php(114): Illuminate\Support\Facades\Crypt::decrypt('eyJpdiI6InBFT2d...') 
#4 D:\working-tools\xampp\htdocs\VedSmsGateway\source\sms_gateway\app\Engine.php(721): Ved\SmsGateway\Models\TopupCode->getCode() 
#5 D:\working-tools\xampp\htdocs\VedSmsGateway\source\sms_gateway\app\Console\Commands\TopUpForCriticalSimsCommand.php(57): Ved\SmsGateway\Engine::topupSim(Object(Ved\SmsGateway\Models\Sim), Object(Ved\SmsGateway\Models\TopupCode)) 
#6 [internal function]: Ved\SmsGateway\Console\Commands\TopUpForCriticalSimsCommand->handle() 
#7 D:\working-tools\xampp\htdocs\VedSmsGateway\source\sms_gateway\vendor\illuminate\container\Container.php(507): call_user_func_array(Array, Array) 
#8 D:\working-tools\xampp\htdocs\VedSmsGateway\source\sms_gateway\vendor\illuminate\console\Command.php(169): Illuminate\Container\Container->call(Array) 
#9 D:\working-tools\xampp\htdocs\VedSmsGateway\source\sms_gateway\vendor\symfony\console\Command\Command.php(256): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#10 D:\working-tools\xampp\htdocs\VedSmsGateway\source\sms_gateway\vendor\illuminate\console\Command.php(155): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#11 D:\working-tools\xampp\htdocs\VedSmsGateway\source\sms_gateway\vendor\symfony\console\Application.php(791): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#12 D:\working-tools\xampp\htdocs\VedSmsGateway\source\sms_gateway\vendor\symfony\console\Application.php(186): Symfony\Component\Console\Application->doRunCommand(Object(Ved\SmsGateway\Console\Commands\TopUpForCriticalSimsCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#13 D:\working-tools\xampp\htdocs\VedSmsGateway\source\sms_gateway\vendor\symfony\console\Application.php(117): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#14 D:\working-tools\xampp\htdocs\VedSmsGateway\source\sms_gateway\vendor\laravel\lumen-framework\src\Console\Kernel.php(69): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#15 D:\working-tools\xampp\htdocs\VedSmsGateway\source\sms_gateway\artisan(35): Laravel\Lumen\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#16 {main} 

我尝试:

composer dump-autoload 
composer clear-cache 

但没有成功

任何人都知道,请帮忙,谢谢提前

+0

此主题可能会带来信息[https://stackoverflow.com/questions/46070732/laravel-decryptexception-the-mac-is-invalid/47926508#47926508](https://stackoverflow.com/questions/46070732/ laravel-decryptexception最MAC-是-无效/ 47926508#47926508) – 4givN

OK,所以我的项目包括2个连接在一起较小的项目(管理网站和API /后端)

的问题是在配置/应用的key。在api /后端一侧的php不同于管理站点。我在.env中更改了APP_KEY,现在一切正常!