首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >.NET 10 Preview 6 有什么新变化?JSON 加强 & 量子安全来袭

.NET 10 Preview 6 有什么新变化?JSON 加强 & 量子安全来袭

作者头像
郑子铭
发布2025-08-24 10:54:14
发布2025-08-24 10:54:14
8100
代码可运行
举报
运行总次数:0
代码可运行

微软在 .NET 10 的第六个预览版中,针对库、JSON 安全性和未来密码技术做了重要更新,不管你是在处理 JSON,还是对前瞻性的密码安全感兴趣,都能在这里找到新的能力。

我们来详细拆解这三个重点更新:


✅ 1. 拒绝重复 JSON 属性

什么问题?JSON 规范对重复属性名没有明确说明,所以不同解析器行为不一,容易被恶意 payload 利用,导致覆盖、数据篡改等问题 ([Medium][1])。

新特性是什么?JsonSerializerOptionsJsonDocumentOptions 中引入 AllowDuplicateProperties 标志。默认允许重复,但你可以显式设为 false,一旦遇到重复键就抛出异常,从而增强安全一致性 ([Medium][1])。

示例:

代码语言:javascript
代码运行次数:0
运行
复制
string json = """{"Value":1,"Value":-1}""";
// 默认行为取后一个值:-1

var options = new JsonSerializerOptions { AllowDuplicateProperties = false };
// 接下来以下操作都会抛出 JsonException
JsonSerializer.Deserialize<MyRecord>(json, options);
JsonDocument.Parse(json, new JsonDocumentOptions { AllowDuplicateProperties = false });

record MyRecord(int Value);

✅ 2. 更严格的 JSON 解析选项(Strict 模式)

为什么有用?默认 JSON 解析较宽松,方便快速开发。但在一些严谨场景(如财务、签名、Schema 严格验证等)下,会导致意外数据注入和解析错误 。

解决方案?新增 JsonSerializerOptions.Strict 配置,默认开启严格模式,具备以下行为:

  • 禁止未映射成员
  • 禁用重复属性
  • 区分大小写属性名匹配
  • 尊重可空注解和构造函数的必填参数 ([Medium][1])

示例:

代码语言:javascript
代码运行次数:0
运行
复制
var strictOptions = new JsonSerializerOptions(JsonSerializerDefaults.Strict);
var person = JsonSerializer.Deserialize<Person>(
    """{"Name":"Alice","Age":30}""", strictOptions);

record Person(string Name, int Age);

✅ 3. 引入抗量子攻击加密(Post‑Quantum Cryptography,PQC)

背景?随着量子计算日益成熟,传统 RSA 和 ECC 等算法可能在未来被破解,NIST 和行业纷纷推动 PQC 标准 ([NIST][2])。

.NET 新支持哪些算法?.NET 10 Preview 6 引入 Windows CNG 上的 PQC 支持,主要包括:

  • ML‑KEM(FIPS‑203,密钥封装)
  • ML‑DSA & SLH‑DSA(FIPS‑204/205,数字签名)([Microsoft Learn][3])。

如何使用?

代码语言:javascript
代码运行次数:0
运行
复制
using System.Security.Cryptography;

bool ValidateMLDsaSignature(ReadOnlySpan<byte> data, ReadOnlySpan<byte> sig, string pubKeyPemPath)
{
    string pubKeyPem = File.ReadAllText(pubKeyPemPath);
    using MLDsa key = MLDsa.ImportFromPem(pubKeyPem);
    return key.VerifyData(data, sig);
}

注意:目前仅在 Windows 的 Canary 渠道 / OpenSSL 3.5+ 系统上支持,还处在实验阶段 ([Microsoft Learn][3])。


总结:安全与未来兼容的重大一步

.NET 10 Preview 6 不只是小幅迭代,而是为 JSON 安全与未来加密技术奠定基础:

特性

作用

禁止重复属性

防止数据覆盖与恶意 payload

Strict 模式

精准匹配数据、避免意外字段

PQC 支持

提早适配量子时代的加密需求

如果你是开发高安全性、合规性、或长期运营的应用,这些更新非常值得关注并尽快试用。准备好迎接更安全、更健壮的未来了吗?🎯

参考: [1] https://medium.com/%40gohulan/exploring-whats-new-in-net-10-preview-6-json-enhancements-post-quantum-cryptography-fb05cf2ea4d0 [2] https://www.nist.gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption-standards [3]https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/libraries

代码语言:javascript
代码运行次数:0
运行
复制
点击下方卡片关注DotNet NB
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DotNet NB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ✅ 1. 拒绝重复 JSON 属性
  • ✅ 2. 更严格的 JSON 解析选项(Strict 模式)
  • ✅ 3. 引入抗量子攻击加密(Post‑Quantum Cryptography,PQC)
  • 总结:安全与未来兼容的重大一步
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档