无法从字节转换为字符串

Iha*_*gha 1 c# encryption aes rijndael

我正在构建一个C#应用程序,该应用程序使用加密文本并在文本框中显示结果,System.Security.Cryptography.Rijndael以便接收方复制结果并使用相同的密钥对其进行解密。

当我将加密的文本从EncryptStringToBytes函数返回的byte []转换为可以在textBox中显示的字符串以便以后复制和解密时,就会发生问题。

我使用了以下转换方法,但是没有一个方法能够显示有意义的字符串,以后可以将其用于解密,并且可以将其重新转换为先前从返回的原始字节形状EncryptStringToBytes

以下是用于执行转换的方法:

从byte []转换为字符串以便在文本框中显示:

textBox3.Text = Encoding.Default.GetString(encryptionResult)
Run Code Online (Sandbox Code Playgroud)

从文本框复制的字符串转换为byte []以便作为参数发送给它DecryptStringFromBytes,以完成解密过程:

byte[] textToByte = Encoding.Default.GetBytes(textToDecrypt)
Run Code Online (Sandbox Code Playgroud)

Bes*_*stR 5

您应该尝试以64encoding进行编码和解码。使用转换类。

textBox3.Text =Convert.ToBase64String(encryptionResult)

byte[] textToByte = Convert.FromBase64String(textToDecrypt);
Run Code Online (Sandbox Code Playgroud)

如果仍要使用编码,请选择:

string decodedString = Encoding.UTF8.GetString(textToDecrypt);
Run Code Online (Sandbox Code Playgroud)