[英]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.