Я так потерян в данный момент, почему я не могу заставить работать что-то настолько простое!
Я расшифровываю значение и добавляю его в строку, например.
MessageBox.Show("TEST 1: " & DecryptedValue & " WHY AM I BEING STRIPPED???")
Проблема в том, что все после DecryptedValue удаляется из строки.
Ниже приведен полный пример проекта/формы, который показывает возникновение этой проблемы:
Imports System.Text
Imports System.Security.Cryptography
Imports System.IO
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim DecryptedValue As String = Decrypt("mDnz8JVmfUyYxkgZYYiFbw==", "IXZOfRxCtb4pQcu2")
MessageBox.Show("TEST 1: " & DecryptedValue & " WHY AM I BEING STRIPPED???")
Dim sw As New StringWriter
sw.Write("TEST 2 ")
sw.Write(DecryptedValue)
sw.Write("WHY AM I BEING STRIPPED???")
MessageBox.Show(sw.ToString())
Dim okstr As String = "Ok"
MessageBox.Show("When Anything " & "Else " & "Works " & okstr)
End Sub
Friend Function Decrypt(ByVal str As String, ByVal key As String) As String
Dim cipher As Byte() = Convert.FromBase64String(str)
Dim btKey As Byte() = Encoding.ASCII.GetBytes(key)
Dim decryptor As ICryptoTransform = New RijndaelManaged() With { _
.Mode = CipherMode.ECB, _
.Padding = PaddingMode.None _
}.CreateDecryptor(btKey, Nothing)
Dim ms As New MemoryStream(cipher)
Dim cs As New CryptoStream(ms, decryptor, CryptoStreamMode.Read)
Dim plain As Byte() = New Byte(cipher.Length - 1) {}
Dim count As Integer = cs.Read(plain, 0, plain.Length)
ms.Close()
cs.Close()
Return Encoding.UTF8.GetString(plain, 0, count)
End Function
End Class
Кто-нибудь сталкивался с этой проблемой в прошлом / может заметить что-то действительно простое, что я просматриваю?
00
символ из строки перед объединением (во время отправки?), в противном случае напечатайте шестнадцатеричные числа двоичного результата. - person Maarten Bodewes   schedule 04.08.2014