base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));
encrypt data - //AHT+GFkX2opXrPyZZ2fQerLDgspBn2tgA4107wrSrOg=
Cookie - //AHT%2BGFkX2opXrPyZZ2fQerLDgspBn2tgA4107wrSrOg%3D
我有一個加密加密記住我的用戶的ID。加密數據在保存到cookie中時發生變化,`+`變成`%2B`?
但是,加密後cookie會變得不同。因爲html代碼。
+
成爲%2B
,=
成爲%3D
我需要對數據進行解密
是無論如何要解決這個問題?
'urldecode()'cookie的值。 –
爲什麼不使用PHP的會話功能?加密很難得到正確的。在這種情況下,不應該使用相同的IV('md5(md5($ key))',而且你需要一個消息驗證代碼(例如HMAC-SHA-256,它可以由'hash_hmac ()')來確保數據的完整性。根據http://security.stackexchange.com/questions/38942/how-to-protect-against-padding-oracle-attacks,MAC應該在加密之後生成並在解密之前檢查。 – PleaseStand