将数组加密为字符串

mpe*_*pen 0 php encryption

我正在寻找一种双向加密算法来将数组编码为字符串,这样我就可以安全地将一些数据存储在cookie中.该算法不应该只是内爆阵列,我希望它也被混淆.我的数据包含所有可打印字符.

链接到某些东西就足够了,我似乎无法在谷歌上挖掘任何东西.也许我应该用一些不起眼的角色破坏数组,然后以某种方式加密它?我不知道用什么方法加密它...虽然它没有太安全,但是cookie数据并不那么敏感.

哦......是的,加密算法应该让我使用密钥/盐.mcrypt_encrypt似乎回馈了凌乱的长期结果,但也许我没有使用正确的密码.哪个是最简单的密码(产生短清洁字符串)?

gna*_*arf 10

serialize()会将您的信息从数组中获取到字符串 - 如果您只是想要混淆,则可以通过base64_encode()传递它- 但不是安全性.

如果你想要一些安全性 - 请查看mcrypt和blowfish:blowfish示例

关于 mcrypt

警告此功能自PHP 7.1.0起已废弃.非常不鼓励依赖此功能.


mpe*_*pen 6

根据gnarf的回答,这应该可以解决问题:

function encode_arr($data) {
    return base64_encode(serialize($data));
}

function decode_arr($data) {
    return unserialize(base64_decode($data));
}
Run Code Online (Sandbox Code Playgroud)

以防万一其他人想要一个复制粘贴解决方案.