Ok vậy tôi có một chuỗi văn bản, được mã hóa trong Base 64 như sau:Cách giải mã chuỗi văn bản từ một Base64 thành mảng byte và lấy thuộc tính chuỗi của mảng byte này mà không bị hỏng dữ liệu
string myText = "abcBASE64TEXTGOESHEREdef=="; // actual string is 381 characters long with trailing '=='
sau đó tôi chuyển đổi chuỗi của tôi từ cơ sở 64 để một mảng byte như vậy:
byte[] decodedFromBase64 = Convert.FromBase64String(myText);
tại thời điểm này, tôi muốn để có được chuỗi giá trị của mảng byte này và tiết kiệm này trong một file văn bản không mất dữ liệu hoặc tham nhũng. Mã bên dưới dường như không hoạt động:
string myDecodedText = Encoding.ASCII.GetString(decodedFromBase64);
StreamWriter myStreamWriter = new StreamWriter("C:\\OpenSSL-Win32\\bin\\textToDecrypt.txt");
myStreamWriter.Write(myString);
myStreamWriter.Flush();
myStreamWriter.Close();
Ai đó có thể vui lòng cho tôi biết tôi đang đi đâu sai.
Chỉnh sửa: Đầu ra không thể đọc được, tôi cần lấy chuỗi đã giải mã và sau đó sử dụng OpenSSL để giải mã nó. Đầu ra và kết quả từ OpenSSL đều dưới đây:
bạn có thể cho biết thêm thông tin về những gì đang xảy ra vậy? bạn có nhận được ngoại lệ không? hoặc là đầu ra không đọc được? –
Vì vậy, chuỗi base-64 là một mảng byte được mã hóa của một chuỗi khác? Chuỗi đã được chuyển đổi thành một byte [] bằng ASCII chưa? – vcsjones
Có thể bạn sử dụng mã hóa sai? Bạn có thể cho thấy những gì bạn nhận được và những gì bạn mong đợi? – Jan