「文字列 - バイト配列」の変換について 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 の出力は気にしません。
よろしくアレックス