Ok, quindi ho una stringa di testo, codificato in base 64 come di seguito:Come decodificare una stringa di testo da un Base64 a un array di byte, e ottenere la proprietà stringa di questo array di byte senza corruzione dei dati
string myText = "abcBASE64TEXTGOESHEREdef=="; // actual string is 381 characters long with trailing '=='
ho poi convertire il mio stringa da base 64 a un array di byte in questo modo:
byte[] decodedFromBase64 = Convert.FromBase64String(myText);
a questo punto, voglio ottenere il valore stringa di questo array di byte e salvare questo in un file di testo senza perdita di dati o corruzione. Il codice seguente non sembra farlo:
string myDecodedText = Encoding.ASCII.GetString(decodedFromBase64);
StreamWriter myStreamWriter = new StreamWriter("C:\\OpenSSL-Win32\\bin\\textToDecrypt.txt");
myStreamWriter.Write(myString);
myStreamWriter.Flush();
myStreamWriter.Close();
Qualcuno può dirmi dove sto andando male.
Modifica: l'output è illeggibile, è necessario prendere la stringa decodificata e quindi utilizzare OpenSSL per decrittografarlo. L'uscita e il risultato da OpenSSL sono entrambi al di sotto:
si può dare più informazioni su ciò che sta andando male? ricevi un'eccezione? o l'output è illeggibile? –
Quindi la stringa base 64 è una matrice di byte codificata di un'altra stringa? La stringa è stata originariamente convertita in un byte [] usando ASCII? – vcsjones
Forse usi una codifica errata? Puoi mostrare cosa ottieni e cosa ti aspetti? – Jan