将L4.2更新为L5后,函数Crypt :: decrypt对L4.2上生成的哈希不起作用,但我的APP_KEY仍然相同。
DecryptException in Encrypter.php line 147:
MAC is invalid.
更新后生成的哈希值有效,但不适用于迁移之前的哈希值;
答案 0 :(得分:1)
在我看来,由于列长度,您的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