对Cookie进行加密和编码

本文关键字:编码 加密 Cookie | 更新日期: 2023-09-27 18:02:03

我有一个字符串,我想用AES算法加密。然后我想将结果存储到web浏览器中的cookie中。

AES加密的结果是一个字节数组。我想把它做成一个可以存储在cookie中的字符串。似乎没有一个编码工作正常。

如果能够加密特殊字符就好了,比如ë…目前,我正在加密字符串,然后我使用基本64字符串编码并替换一些字符,如"=","+"answers"/"。虽然这可以工作,但它似乎不是一个优雅的解决方案…

有更好的方法吗?

对Cookie进行加密和编码

这是一种非常常见的方法。

下面的类通过使用'-'和'_'来包装所有这些,同时省略填充。它比替换字符更有效,几乎和Convert一样快。ToBase64String方法:

http://csharptest.net/browse/src/Library/Formatting/Safe64Encoding.cs

使用例子:

byte[] data = new byte[10];
string encoded = Safe64Encoding.EncodeBytes(data);
...
data = Safe64Encoding.DecodeBytes(encoded);