簡體   English   中英

Laravel 4.2到5.0更新后,Crypt :: decript函數停止工作

[英]The Crypt::decript function stopped working after the Laravel 4.2 to 5.0 update

在將L4.2更新為L5之后,功能Crypt :: decrypt對於L4.2上生成的哈希不起作用,但是我的APP_KEY仍然相同。

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

更新后生成的哈希有效,但不適用於遷移前的哈希;

在我看來,您的64個加密數據由於列長而被精簡了,我認為您存儲的是相對較大的數據。 我只是通過向數據庫添加非常大的緩存值來重現您的錯誤。 在架構內進行以下更改,回滾並重新運行遷移:

<?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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM