2016-10-06 12 views
0

После обновления L4.2 до L5 функция Crypt :: decrypt не работает для хэшей, сгенерированных на L4.2, однако мой APP_KEY все еще тоже самое.Функция Crypt :: decript перестала работать после обновления Laravel 4.2 до 5.0

DecryptException in Encrypter.php line 147: 
MAC is invalid. 

Мои хэши, сгенерированные после обновления, работают, но не для тех, которые перед миграцией;

+0

https://laracasts.com/discuss/channels/general-discussion/daeling-with-decryptexceptioninvalid-data – Gogol

+0

Похоже шифром по умолчанию изменилось между версиями 4.2 и 5. Я думаю, что это было 'MCRYPT_RIJNDAEL_128' назад в Laravel 4, в то время как он выглядит как AES-256-CBC в Laravel 5. – Jeemusu

+0

На L5 я установил Cipher как MCRYPT_RIJNDAEL_128, чтобы избежать этой проблемы, но все равно ничего не изменилось. все еще есть ошибка. –

ответ

1

Мне кажется, что ваши 64 enocded данные сбрасываются из-за длины столбца, и я думаю, что вы храните что-то относительно большое. Я просто воспроизвел вашу ошибку, добавив очень большое значение кеша в базу данных. Внести следующие изменения внутри вашей схемы, откат и перезапустить миграцию:

<?php 

use Illuminate\Database\Schema\Blueprint; 
use Illuminate\Database\Migrations\Migration; 

class CreateCacheTable extends Migration { 

    /** 
    * Run the migrations. 
    * 
    * @return void 
    */ 
    public function up() 
    { 
     Schema::create('cache', function(Blueprint $table) 
     { 
      $table->string('key')->unique(); 
      $table->longText('value'); 
      $table->timestamps(); 
     }); 
    } 

    /** 
    * Reverse the migrations. 
    * 
    * @return void 
    */ 
    public function down() 
    { 
     Schema::drop('cache'); 
    } 

} 

Пластинка вставили ранее дал мне NULL, и я думаю, что это потому, что полосатая вниз.

После миграции таблицы cache. Поместите то же значение кеша и прочитайте, надеюсь, на этот раз вы не получите ошибку. Скрестить пальцы!

Источник: https://laracasts.com/discuss/channels/general-discussion/daeling-with-decryptexceptioninvalid-data

+0

Не отправляйте ссылки только для ответов. Если что-то в ссылке отвечает на вопрос, напишите, что здесь вместе со ссылкой. – Samsquanch

+0

Okey, получил вас .. – astratyandmitry

+0

@astratyandmitry максимальная длина строк 220 и моя миграция установлена ​​на: $ table-> string ('account_number', 255); И мои хэши L4.2 не дешифруют –