2017-08-02 110 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

相关问题