⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

可查询加密(Queryable Encryption)实现隐私保护下的等值查询

深入 MongoDB 7.0 的可查询加密特性,演示如何在加密字段上执行精确匹配查询而无需解密。 · 难度:入门 · +10XP

可查询加密(Queryable Encryption)实现隐私保护下的等值查询

MongoDB 7.0 推出的可查询加密(Queryable Encryption)允许对敏感字段(如身份证号、邮箱)进行确定性加密,同时保留等值查询能力。本教程将详细解释其原理:基于封装的加密索引结构(ESC / ECOC),以及客户端如何通过 mongocryptd 自动解密。我们会演示配置加密 schema、插入加密数据、执行精确查询的完整流程,并讨论其性能开销与适用场景(如医疗、金融数据合规)。注意:目前仅支持等值匹配,不支持范围查询。

// 需要在客户端创建加密集合
const encryptedClient = new MongoClient(uri, {
  autoEncryption: {
    keyVaultNamespace: 'encryption.__keyVault',
    kmsProviders: { local: { key: base64Key } },
    schemaMap: {
      'test.patients': {
        bsonType: 'object',
        properties: {
          ssn: { encrypt: { keyId: [keyId], algorithm: 'AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic' } }
        }
      }
    }
  }
});
// 之后可以正常进行 ssn 的等值查询
Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 83 篇
0 完成
🔥 0