AES加密字符串是否包含| (pipe)

本文关键字:pipe 包含 加密 字符串 是否 AES | 更新日期: 2023-09-27 18:17:22

我使用。net的RijndaelManaged类加密和解密字符串。3个不同的字符串首先加密,然后连接,用管道(|)分隔,然后将该字符串保存回数据库。

当我需要解密字符串时,我首先将三个加密字符串分开,然后解密它们。

我将各个加密字符串连接如下:

StringBuilder sb = new StringBuilder();
sb.Append(Crypto.Encrypt("string1")).Append("|")
.Append(Crypto.Encrypt("string2")).Append("|")
          Crypto.Encrypt("string3"));

我的问题是:当使用RijndaelManaged加密字符串时,加密的字符串可以包括管道符号吗?

AES加密字符串是否包含| (pipe)

我使用。net的RijndaelManaged类来加密和解密字符串。

您可以将其用作底层加密-但是RijndaelManaged仅处理二进制数据,就像加密代码通常的情况一样。

所以假设你正在将字符串转换为字节(希望使用合理的编码,如UTF-8),然后加密,然后将加密的字节转换回字符串。

如果不知道如何将加密的字节转换回字符串,我们就不可能知道结果是否包含|。如果你使用Convert.ToBase64String(这可能是我使用),你会很好,因为|不使用在正常的base64字母表。如果您只是将每个字节转换为两个十六进制数字,则同上。但也许你在做别的事情。(如果你使用Encoding,你做错了,顺便说一下,很容易丢失数据。)