[英]Cannot Convert From Byte to String
我正在構建一個C#應用程序,該應用程序使用System.Security.Cryptography.Rijndael
對文本進行加密並將結果顯示在文本框中,以便接收方復制結果並使用相同的密鑰對其進行解密。
當我將加密的文本從EncryptStringToBytes
函數返回的byte []轉換為可以在EncryptStringToBytes
中顯示以便稍后復制和解密的字符串時,就會發生問題。
我使用了以下轉換方法,但是沒有一個方法能夠顯示有意義的字符串,以后可以將其用於解密,並且可以將其重新轉換為先前從EncryptStringToBytes
返回的原始字節形狀。
以下是用於執行轉換的方法:
從byte []轉換為字符串以便在文本框中顯示:
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.