xmlファイルを文字列に暗号化して、サービスを介して転送できるようにしようとしています。送信は、コードにコンパイルされた対称キーを使用してサーバーからサーバーに行われます。
私はMSDNのAESサンプルを使用していて、バイトarryを次のような文字列との間で変換しています。
' Encrypt the string to an array of bytes.
Dim encrypted As Byte() = crypto.EncryptString(original, _key, _iv)
Dim encrypStr As String = Encoding.Unicode.GetString(encrypted)
'''' >>> Transmit...
Dim postTrans As Byte() = Encoding.Unicode.GetBytes(encrypStr)
' Decrypt the bytes to a string.
Dim roundtrip As String = crypto.DecryptString(postTrans, _key, _iv)
真ん中の2行がないと、暗号化/復号化は正常に機能します。真ん中の2行が含まれていると、解析できない不正な形式のxmlドキュメントを受け取るか、「パディングが無効で削除できません」というエラーが表示されます。
これは文字列暗号化の良い方法ではありませんか?byte()をstringadbackに変換しなくても完全に機能します。