2017-08-02 3 views
1

Ich arbeite an einem TCP/IP-Projekt, ich muss verschlüsselte Pakete über Sockets senden. Ich habe Netzwerk Teil abgeschlossen, ich kann Strings senden, aber alle meine Pakete sind Objekte. Also muss ich meine Paketklasse in eine Zeichenfolge serialisieren und verschlüsseln, dann nachdem der Client deserialisiert und entschlüsselt wird. Cany, hilf mir bitte?Serialize Objekt zu Zeichenfolge

Package.cs

public class Package 
{ 
    private string context; 
    public string Context 
    { 
     get { return context; } 
     set { context = value; } 
    } 
    private bool flag; 
    public bool Flag 
    { 
     get { return flag; } 
     set { flag = value; } 
    } 
    private int statusCode; 
    public int StatusCode 
    { 
     get { return statusCode; } 
     set { statusCode = value; } 
    } 

    public Package() { this.context = null; } 
} 
+2

Verschlüsselung/Entschlüsselung ist ein ziemlich großes Thema. Welche Art von Verschlüsselung möchten Sie verwenden? Zum Beispiel wird es ausreichen, nur mit einem Schlüssel zu verschlüsseln/entschlüsseln, der an beiden Enden bekannt ist, oder müssen Sie etwas wie eine vollständige Verschlüsselung mit öffentlichem/privatem Schlüssel tun? –

+0

@MatthewWatson, wenn ich Schlüsselverschlüsselung verwende, wie wird es zwischen Systemen transportiert? – solohane

Antwort

1

für die Serialisierung können Sie JavaScriptSerializer Klasse.

Fügen Sie dem Projekt Referenz System.Web.Extensions hinzu;

private string Serialize(object obj){ 
var serializer = new JavaScriptSerializer(); 
return serializer.Serialize(obj); 
} 

private object Deserialize(string json){ 
var serializer = new JavaScriptSerializer(); 
return serializer.Deserialize<object>(json); 
} 

Für die Verschlüsselung/Entschlüsselung können Sie im Grunde Base64 verwenden, aber wenn Sie mehr spesific Antwort wollen, müssen Sie mehr Details über Ihre Anforderungen erzählen.

+0

Ich versuche das und welche Verschlüsselung würden Sie mir empfehlen zu verwenden? – solohane

+0

das funktioniert, danke! – solohane

+0

Kann nicht ohne irgendwelche Informationen sagen, es hängt von Ihren Bedürfnissen ab ... – Sahin