摘要:
在 IndexedDB 中,游标(Cursor)是一个用于遍历对象存储(Object Store)中记录的指针。游标提供了一种高效的方式来遍历和操作存储在对象存储中的大量数据。通过游标,你可以按顺序访问数据,并根据需要执行操作,如读取、更新或删除记录。 游标的工作原理 打开游标:首先,你需要打开一个 阅读全文
摘要:
在 JavaScript 中,当你从一个模块导出一个类的实例时,其他模块在导入这个实例时将获得该实例的一个引用。这意味着,如果你修改了这个实例的属性或调用它的方法,所有导入该实例的模块都会看到这些更改,因为它们引用的是同一个对象。 以下是一个示例: moduleA.js: class MyClass 阅读全文
摘要:
IndexedDB 是一种在用户浏览器中存储大量结构化数据的方式。它是一个低级 API,用于在客户端存储大量数据,并使用索引来进行高性能搜索。以下是如何在前端 JavaScript 中使用 IndexedDB 的基本步骤: 1. 打开数据库 首先,你需要打开一个数据库。如果数据库不存在,它会自动创建 阅读全文
摘要:
对于 Vue 3 和 Pinia,有一个名为 pinia-plugin-persist 的插件可以用来持久化 Pinia store 的状态到 localStorage 或 sessionStorage。这个插件简化了状态持久化的过程,使得你不需要手动编写保存和加载状态的逻辑。 以下是如何使用 pi 阅读全文
摘要:
使用 window.crypto.subtle,可以实现非对称加密(也称为公钥加密)。非对称加密使用一对密钥:公钥用于加密数据,私钥用于解密数据。以下是一个示例,演示如何使用 window.crypto.subtle 实现非对称加密和解密: 生成密钥对 首先,生成一个 RSA 密钥对: async 阅读全文
摘要:
使用 window.crypto.subtle.digest 方法,可以为字符串生成哈希签名。以下是一个示例,演示如何为字符串生成 SHA-256 哈希值: async function generateHash(text) { // 将文本编码为 UTF-8 字节数组 const encoder 阅读全文
摘要:
window.crypto.subtle 支持AES-128对称加密算法。AES(高级加密标准)是一种广泛使用的对称加密算法,它有三种密钥长度:128位、192位和256位。在Web Crypto API中,你可以选择不同的密钥长度来生成AES密钥。 以下是一个使用AES-128-CBC模式的加密和 阅读全文
摘要:
AES-GCM 加密加密算法简介 AES-GCM(高级加密标准-伽罗瓦/计数器模式)是一种对称加密算法,它结合了块加密和消息认证码(MAC)的功能,提供数据加密和完整性验证。AES-GCM 模式因其高效和安全性而被广泛应用于各种安全通信协议中,如 TLS(传输层安全)和 IPsec(互联网协议安全) 阅读全文