c# - 如何在C#中序列化一个对象并防止被篡改?

标签 c# .net asp.net serialization encryption

我有一个 C# 类如下:

public class TestObj
{
    private int intval;
    private string stringval;
    private int[] intarray;
    private string[] stringarray;

    //... public properties not shown here
}

我想将此类的一个实例序列化为一个字符串。

此外:

我会将此字符串作为 QueryString 参数附加到 URL。所以我想做一些努力来确保字符串不能轻易被篡改。

此外,我希望序列化方法高效,因此字符串的大小是最小的。

关于我应该使用的特定 .NET Framework 类/方法有什么建议吗?

最佳答案

对流进行签名并将签名添加到您的查询中。使用 HMAC 签名算法,例如 HMACSHA1 .您将需要在您的客户端和您的服务器之间有一个 secret 来签署和验证签名。

关于c# - 如何在C#中序列化一个对象并防止被篡改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1331081/

相关文章:

c# - Visual Studio 2010、用于 Visual Studio 2008 和 ClickOnce 的 Crystal 报表

c# - 如何在用户控件中使用委托(delegate)和事件?

.net - Windows 7 任务栏 : Capture thumbnails

c# - 如何在 ASP.NET MVC 中使用选择列表返回多个值?

c# - 从汇编中获取 MSIL?

c# - 以编程方式添加 subview 并使其拉伸(stretch),因此如果它是通过 XCode 添加的

.net - 推荐的 WPF 应用程序项目结构是什么?

c# - "Synchronization Domain"技术状态

c# - 如何限制对 HttpHandler 的 POST 访问?

c# - 在c#中休息调用post方法