参考 > 参考 > mongo Shell方法 > 客户端字段级加密方法 > ClientEncryption.encrypt()
4.2版中的新功能。
ClientEncryption.
encrypt
(encryptionKeyId,value,encryptionAlgorithm )¶ClientEncryption.encrypt
value
使用指定的encryptionKeyId
和加密encryptionAlgorithm
。
encrypt
支持字段值的显式(手动)加密。
encrypt
具有以下语法:
参数 | 类型 | 描述 |
---|---|---|
encryptionKeyId |
UUID |
用于加密的数据加密密钥 的UUID是BSON
亚型对象标识特定数据的加密密钥。如果为数据库连接配置的密钥库中不存在数据加密密钥,则
返回错误。有关
密钥库和数据加密密钥的更多信息,请参见Encryption Key Vault。 |
value |
请参阅不支持的BSON类型。 | 要加密的值。 |
encryptionAlgorithm |
串 | 用于对加密的加密算法
有关受支持的加密算法的完整文档,请参阅“ 加密算法”。 |
返回: | 子类型为6的 对象
。binary data |
---|
以下示例将本地管理的KMS用于客户端字段级加密配置。
为本地管理的密钥配置客户端字段级加密需要指定没有换行符的base64编码的96字节字符串。以下操作将生成满足所述要求的密钥并将其加载到mongo
外壳中:
使用生成的本地密钥字符串创建客户端字段级加密对象:
使用Mongo()
构造函数使用客户端字段级加密选项创建数据库连接。用目标集群mongodb://myMongo.example.net
的连接字符串URI替换
URI 。
检索ClientEncryption
对象,并使用该ClientEncryption.encrypt()
方法通过特定的数据加密密钥UUID
和
加密算法对值进行加密:
如果成功,则encrypt
返回加密的值:
有关在启用客户端字段级加密的情况下启动MongoDB连接的完整文档,请参阅Mongo()
。