我只是想知道加密和签署cookie是多余的吗?加密还不够吗?为什么或者为什么不?
如果它不是多余的,我想知道我是否朝着正确的方向前进。为简单起见,我所做的是:
$data = 'some data';
$encrypted_data = mcrypt_encrypt($cipher, $key, $data, $mode, $iv);
$signature = hash_hmac($algorithm, $data, $key);
$package = $encrypted_data . '|' . $signature;
setcookie('somecookie', $package, time()+60*60*24);
根据我的基本理解,您正在对数据进行 hmac 哈希处理,并使用分隔符将其附加到加密数据中?然后,当您检查 cookie 时,您会进行所有验证等等。我正确地接近这个吗?此外,加密和签名的所有密钥都应该是随机数(一次性使用的密钥)还是足以让它们中的每一个成为所有人共享的单个全局密钥?我很抱歉这正在成为一个三方问题。希望没有人介意。非常感谢。