0

一直在尝试将 xml 文件加密为字符串,以便我可以通过服务传输它。使用编译到代码中的对称密钥从服务器到服务器的传输。

我一直在使用MSDN中的 AES 示例,然后将字节数组转换为字符串,如下所示:

    ' 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)

如果没有中间两行,加密/解密工作正常,包括中间两行,我要么收到格式错误的无法解析的 xml 文档,要么收到“填充无效且无法删除”错误。

这不是字符串加密的好方法吗?它可以完美地工作,无需将 byte() 转换为字符串广告。

4

1 回答 1

1

不要使用 Encoding.GetString(),不会总是有效。使用 ToBase64()

感谢 Henk Holterman 的回答。

于 2012-06-29T10:31:01.327 回答