我正在构建一个C#应用程序,该应用程序使用加密文本并将结果显示在文本框中,System.Security.Cryptography.Rijndael
以便接收方复制结果并使用相同的密钥对其进行解密。
当我将加密的文本从EncryptStringToBytes
函数返回的byte []转换为可以在textBox中显示的字符串以便以后复制和解密时,就会发生问题。
我使用了以下转换方法,但是没有一个方法能够显示有意义的字符串,以后可以将其用于解密,并且可以将其重新转换为先前从返回的原始字节形状EncryptStringToBytes
。
以下是用于执行转换的方法:
从byte []转换为字符串以便在textBox中显示:
textBox3.Text = Encoding.Default.GetString(encryptionResult)
从文本框复制的字符串转换为byte []以便作为参数发送给它DecryptStringFromBytes
,以完成解密过程:
byte[] textToByte = Encoding.Default.GetBytes(textToDecrypt)
您应该尝试以64encoding进行编码和解码。使用转换类。
textBox3.Text =Convert.ToBase64String(encryptionResult)
byte[] textToByte = Convert.FromBase64String(textToDecrypt);
如果仍要使用编码,请选择:
string decodedString = Encoding.UTF8.GetString(textToDecrypt);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句