2017-08-02 11 views
1

私はTCP/IPプロジェクトで作業しています。ソケットを介して暗号化されたパッケージを送信する必要があります。私はネットワーク部分を完成しました。私は文字列を送ることができますが、私のパッケージはすべてオブジェクトです。だから私は文字列に私のパッケージクラスをシリアル化し、それを暗号化し、クライアントがそれを逆シリアル化し、解読した後にする必要があります。あなたは私を助けてくれますか?オブジェクトを文字列にシリアライズ

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

暗号化/復号化は非常に重要なトピックです。どのような暗号化を使用しますか?たとえば、両端で知られているキーを使用して暗号化/復号化するだけで十分ですか、完全公開/秘密鍵の暗号化などを行う必要がありますか? –

+0

@MatthewWatson鍵の暗号化を使用すると、システム間でどのように転送されますか? – solohane

答えて

1

直列化のためには、JavaScriptSerializerクラスを使用することができます。

参照System.Web.Extensionsをプロジェクトに追加します。

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); 
} 

暗号化/復号化のためには、基本的にBase64を使用することができますが、あなたはより多くのspesific答えをしたい場合、あなたはあなたの要件についての詳細を伝える必要があります。

+0

私はそれを試みていますが、どの暗号化を使用することをお勧めしますか? – solohane

+0

それは、ありがとう! – solohane

+0

情報なしで言うことができません、それはあなたのニーズに依存します... – Sahin

関連する問題