ray_code, versuchte ich Ihren Code auf meiner .exe Akte. Wie Sie sagten, unterscheiden sich die Bytes vor und nach.
Der Grund, warum sie sich unterscheiden:
Unter ist eine Linie vom msdn (verstehenkodierungen:
http://msdn.microsoft.com/en-us/library/ms404377.aspx)„•Wenn Ihre Anwendung Inhalt hat, der nicht ausschließlich ASCII ist und es mit ASCIIEncoding verschlüsselt, verschlüsselt jeder Buchstabe NichtASCII als Fragezeichen (“? "). Wenn die Anwendung dann diese Daten decodiert, sind die Informationen verloren.“
Obvioursly die Bytedaten von der .exe Akte ist „nicht ASCII“ und Informationen sind verloren.
Was die Lösung für dieses ist:
Unter ist eine Linie vom msdn (kodierungskategorie:
http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx)„Wenn Ihre Anwendung willkürliche binäre Daten in Text verschlüsseln muss, sollte sie ein Protokoll wie uuencode verwenden, das wird eingeführt durch Methoden wie Convert.ToBase64CharArray.
“
Offensichtlich sind die Bytedaten von der .exe Akte willkürliche binäre Daten und Sie sollten using kodierung Base64 wie in dem Code gezeigt anstatt betrachten unten: