我知道有 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 中的输出,只要它是“可读的”。
最好的问候亚历克斯