Security :: encrypt()方法在CakePHP 3.2中返回无效字符

时间:2016-06-26 11:14:53

标签: php security cakephp encryption

我在CakePHP 3.2中使用Security实用程序进行加密和解密。当我打电话

Security::encrypt('string', 'key') //密钥长度为32或更多

字符串上的方法,它返回带有一些无效字符的加密字符串,如下所示:

  

8e88c050ff20cb12984bf1af24b11fc7ada198082c67d6b3da7170572d5bcd54plp21ķ;ܝ%N

我想在url中使用此字符串。但由于存在一些无效字符,因此无法正常工作。

现在我想避开这些角色。有没有办法避免这些角色?

1 个答案:

答案 0 :(得分:5)

Security::encrypt()返回二进制数据,对于你看到的内容没有任何效果。

如果您需要URL安全字符串,请使用Base64编码作为基础(请务必阅读下面链接的SO问题,因为如果没有采取其他措施,Base64不是完全URL安全的。)< / p>