请我如何能返回解码字节,而不是从加密流文本



请问如何在以下代码片段中返回解码字节而不是文本:

Public Shared Function decryptAsText(key As Byte(), ciphertext As Byte(), iv As Byte()) As String
    Dim dec As String = Nothing
    Try
        Using rj = New Security.Cryptography.RijndaelManaged With {.Key = key, .IV = iv, .Mode = Security.Cryptography.CipherMode.CBC, .Padding = PaddingMode.PKCS7}
            Using ms = New IO.MemoryStream(ciphertext)
                Using cs = New Security.Cryptography.CryptoStream(ms, rj.CreateDecryptor(key, iv), Security.Cryptography.CryptoStreamMode.Read)
                    Using sr = New IO.StreamReader(cs)
                        dec = sr.ReadToEnd
                    End Using
                End Using
            End Using
        End Using
    Catch e As Exception
    End Try
    Return dec
End Function

我的尝试失败了

 Public Shared Function decryptAsBytes(key As Byte(), ciphertext As Byte(), iv As Byte()) As Byte()
        Try
            Using rj = New Security.Cryptography.RijndaelManaged With {.Key = key, .IV = iv, .Mode = Security.Cryptography.CipherMode.CBC, .Padding = PaddingMode.PKCS7}
                Using ms = New IO.MemoryStream(ciphertext)
                    Using cs = New Security.Cryptography.CryptoStream(ms, rj.CreateDecryptor(key, iv), Security.Cryptography.CryptoStreamMode.Read)
                        Dim l As Integer = CInt(cs.Length)
                        Dim b(l - 1) As Byte
                        cs.Read(b, 0, l)
                        Return b
                    End Using
                End Using
            End Using
        Catch e As Exception
        End Try
        Return {}
    End Function

终于成功了

Public Shared Function decryptAsBytes(key As Byte(), ciphertext As Byte(), iv As Byte()) As Byte()
    Try
        Using rj = New Security.Cryptography.RijndaelManaged With {.Key = key, .IV = iv, .Mode = Security.Cryptography.CipherMode.CBC, .Padding = PaddingMode.PKCS7}
            Using ms = New IO.MemoryStream(ciphertext)
                Using cs = New Security.Cryptography.CryptoStream(ms, rj.CreateDecryptor(key, iv), Security.Cryptography.CryptoStreamMode.Read)
                    Using ds = New IO.MemoryStream()
                        cs.CopyTo(ds)
                        Return ds.ToArray
                    End Using
                End Using
            End Using
        End Using
    Catch e As Exception
    End Try
    Return {}
End Function

相关内容

  • 没有找到相关文章

最新更新