【发布时间】:2013-08-04 00:34:30
【问题描述】:
我知道有 100 万个关于“字符串 - 字节数组”转换的问题,但没有一个适合我的问题。
为了安装我的软件,我需要保存用户的一些信息(服务器地址、用户 ID、密码等)。其中一些信息确实需要保护(使用 DPAPI 加密)。为此,我必须将 string (SecureString) 转换为 byte[]
public static byte[] StringToByte(string s)
{
return Convert.FromBase64String(s);
}
我的第一个问题在哪里。如果字符串长度不是 4 的倍数 (s.lenght % 4 == 0),我会收到“Base-64 字符数组的长度无效”错误。我读过我可以(必须)在string 的末尾添加“=”,但其中一些字符串可能是密码(可能包含“=”)。我需要将(加密的)数据存储在 XML 文件中,为什么我不能使用 Unicode 编码(我不知道为什么,但它会破坏 XML 文件……因为我想是因为编码)。
作为最后一步,我必须返回在应用启动时获取存储数据的方式。
有人可以帮我解决这个问题吗?我不在乎 XML 中的输出,只要它是“可读的”。
最好的问候亚历克斯
【问题讨论】:
标签: c# string type-conversion bytearray