【发布时间】:2011-04-25 16:54:35
【问题描述】:
我有数据被加密并发送到另一个页面,在那里它被解码和解释。 使用 System.Text.Encoding.Unicode.GetString() 将数据散列为 unicode,然后加密,然后编码为 Base64 字符串并通过 URL 发送,然后接收站点将其从 Base64 中取出并再次解密,然后使用 System.Text.Encoding.Unicode.GetBytes() 再次返回字节。
但是,我得到的单个字符与发送它的方式不同。它“看起来”是一样的,就像一个'�'。然后将此字符串解密为字节,但计算方式不同。
编码时,unicode 字符占用两个字节——这个字符被编码为这些字节:
[0]: 139
[1]: 222
但被解码为
[0]: 253
[1]: 255
所有其他字符都被正确地转换成加密和退出加密,它们的字节转换保持不变。
这个字符是特例吗?有没有其他角色会产生同样的效果?加密有问题吗?
【问题讨论】:
标签: asp.net encryption unicode base64