Node.js v24.7.0 新功能预览 🚀🚀🚀

前言

Node.js v24.7.0 正式发布,现在让我们一起来看看这个版本的亮点!

往期精彩推荐

正文

以下是 v24.7.0 的核心更新和新特性的详细介绍。

1. crypto 模块的后量子加密支持

Node.js v24.7.0 通过 OpenSSL 3.5 引入 NIST 的后量子加密标准,支持 ML-KEM (FIPS 203) 和 ML-DSA (FIPS 204) 算法。这为应用提供量子安全防护,使用新方法如 crypto.encapsulate() 和 crypto.decapsulate(),并集成到 crypto.sign() 和 crypto.verify() 中。

示例:

javascript 复制代码
const crypto = require('crypto');

// ML-KEM 示例
const { publicKey, privateKey } = crypto.generateKeyPairSync('ml-kem');
const { sharedSecret, ciphertext } = crypto.encapsulate(publicKey);
const decryptedSecret = crypto.decapsulate(privateKey, ciphertext);

// ML-DSA 示例
const signature = crypto.sign(null, Buffer.from('data'), privateKey);
const isValid = crypto.verify(null, Buffer.from('data'), publicKey, signature);
console.log(isValid); // true

这一功能为高安全需求的项目奠定未来基础。

2. Web Cryptography API 的现代算法扩展

globalThis.crypto.subtle 新增算法如 AES-OCB、ChaCha20-Poly1305、ML-DSA、ML-KEM、SHA-3 和 SHAKE,以及方法如 subtle.getPublicKey() 和 SubtleCrypto.supports()。这扩展了 Web 加密能力,支持更多场景。

示例:

javascript 复制代码
async function encryptData() {
  const key = await crypto.subtle.generateKey({ name: 'AES-OCB', length: 256 }, true, ['encrypt']);
  const encrypted = await crypto.subtle.encrypt({ name: 'AES-OCB', iv: crypto.getRandomValues(new Uint8Array(12)) }, key, new TextEncoder().encode('data'));
  console.log(encrypted);
}

这为浏览器和 Node.js 应用提供更先进的加密选项。

3. 单执行文件应用的执行参数支持

单执行文件应用(SEA)新增 execArgv 和 execArgvExtension 配置,支持指定运行时参数和扩展方式("none"、"cli" 或 "env")。这提升了 SEA 的灵活性。

示例配置:

json 复制代码
{
  "main": "/path/to/script.js",
  "output": "/path/to/blob.blob",
  "execArgv": ["--no-warnings"],
  "execArgvExtension": "cli"
}

这让 SEA 更易自定义运行行为。

4. 根证书更新

根证书更新到 NSS 3.114,添加新证书如 TrustAsia TLS ECC Root CA,并移除过期证书如 GlobalSign Root CA。这增强了 TLS 连接的安全性。

5. 其他改进

  • crypto.argon2() 和 argon2Sync():新增 Argon2 哈希方法,支持密码存储。
  • http.Agent.agentKeepAliveTimeoutBuffer:新增 keep-alive 超时缓冲,提升连接稳定性。
  • HTTP/2 支持原始头数组:允许 raw 头处理,提升自定义能力。
  • 流中的 brotli 支持:新增 brotli 压缩流,优化数据传输。

最后

Node.js v24.7.0 为开发者带来了安全、灵活和实用的提升。从后量子加密到 SEA 配置,这些功能让你的项目更健壮、更高效。快来升级到 v24.7.0,体验这些新特性吧!

今天的分享就这些了,感谢大家的阅读!如果文章中存在错误的地方欢迎指正!

往期精彩推荐

相关推荐
鬼手点金2 小时前
nanoGPT/nanochat 能做出 DeepSeek/Qwen 这样的大模型吗?
服务器·前端·javascript·bug·openclaw
软件技术NINI3 小时前
美妆商城html+Css+js 4页
javascript·css·html
蛋蛋的就会顺顺的3 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
程序员Sunday3 小时前
TypeScript 的 any、unknown、never 有什么区别?
前端·面试·typescript
朱涛的自习室3 小时前
70 美金的 Beyond Compare,我让 Gemini 4 和 DeepSeek 造个开源免费版(Day 2)
android·前端·人工智能
码艺-Alimjan4 小时前
Tauri 源码备份 · 打包 & 解压 总结,源码收集之路
前端·javascript·vue.js
小马不起床4 小时前
零基础玩转 FastAPI_11:前端后台管理页面
前端·状态模式·fastapi
子非鱼a5 小时前
【文件上传】一个普普通通的edu16
前端
美狐美颜SDK开放平台6 小时前
直播APP如何实现美白滤镜功能?视频美颜SDK技术开发方案详解
前端·数据库·人工智能·音视频·美颜sdk·直播美颜sdk·视频美颜sdk
pride.li6 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉