Deno 1.14 正式发布,引入新的 Web Crypto API

Deno 1.14 已发布,包括以下新特性和变更:


引入新的 Web Crypto API

此版本引入了许多新的 Web Crypto API:

  • crypto.subtle.exportKey()
    • HMAC 密钥现在支持以 JWK 和“raw”格式导出
    • RSA 密钥现在支持以 pkcs#8 格式导出
  • crypto.subtle.importKey()
    • HMAC 密钥现在可以以 JWK 和“raw”格式导入
    • 现在支持以 pkcs#8 格式导入 RSA 密钥
    • PBKDF2 密钥现在支持以”raw”格式导入
  • crypto.subtle.generateKey()
    • 现在支持生成 RSA-OAEP 密钥
    • 现在支持生成 ECDH 密钥
    • 现在支持生成 AES 密钥
  • crypto.subtle.deriveBits()
    • 现在支持 PBKDF2 派生
    • 现在支持 HKDF 派生
  • crypto.subtle.verify()
    • 现在支持 ECDSA 签名验证
  • crypto.subtle.encrypt()
    • 现在支持 RSA-OAEP 加密
  • crypto.subtle.decrypt()
    • 现在支持 RSA-OAEP 解密

引入 URLPattern

此版本引入了一个新的不稳定的 Web 平台 API,用于根据模式匹配 URL。URLPattern是流行path-to-regexp库的内置替代品 。

const pattern = new URLPattern({ pathname: "/books/:id" });

console.log(pattern.test("https://example.com/books/123")); // true
console.log(pattern.test("https://example.com/books/123/456")); // false
console.log(pattern.test("https://example.com/books")); // false

console.log(pattern.exec("https://example.com/books/123").pathname); // { input: "/books/123", groups: { id: "123" } }

引入 File locking API

此版本引入了四个新的可用于文件锁定的不稳定 API:

  • Deno.flock
  • Deno.flockSync
  • Deno.funlock
  • Deno.funlockSync

这些 API 对于像sqlite提供适当的数据库同步这种项目来说是必不可少的 。


更快的 std/http 模块

Deno 标准库 0.107.0 版本对http模块进行了重大改进 。

在 v1.13 中原生 HTTP server API 到达稳定状态后,团队重写了http/server.ts模块,并使用了新的稳定 API。最终实现了显著的性能提升,以及创建了对用户更友好的 API——主要用于处理 HTTP 服务器的问题,例如错误处理和连接的多路复用。

更多内容查看发布公告

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/170715.html

(0)
上一篇 2021年9月25日
下一篇 2021年9月25日

相关推荐

发表回复

登录后才能评论