加密字段数据
FileMaker 平台提供以下函数,以使用指定密钥加密和解密数据:
-
CryptEncryptBase64:接受文本或容器数据并返回加密的 Base64 编码文本。
-
CryptDecryptBase64:接受用 CryptEncryptBase64 加密的 Base64 编码文本,并返回与加密前相同类型的解密数据 (文本或容器数据)。
如果需要加强对加密数据的编码和格式化方式的控制,可以使用 CryptEncrypt 和 CryptDecrypt 函数。请参阅 FileMaker Pro 帮助。
重要事项 这些函数无法直接关联到 FileMaker Pro 文件安全架构 (帐户、权限集和扩展权限)。因此,数据的安全性取决于您如何在定制化 App 中使用这些函数。
作为开发者,您可以考虑如何安全地管理密钥:
-
创建:密钥创建 (或生成) 的最佳做法包含几个基本要素:密钥长度、复杂性和密钥熵。
-
存储:独立于解密的数据安全地存储密钥。
-
保留:密钥的可用期限必须等同于加密数据的可用期限。例如,如果密钥不可用,备份则无法使用。
-
受损:根据您使用这些函数的方式,如果密钥受损,其加密的数据会受到实际损害,因为不使用密钥无法解密数据。
这些函数的一项应用,是保护字段内数据的机密性 (也称为字段级加密)。然而,此级别的加密不能取代可保护整个文件 (包括备份) 免受损害的静态加密。请参阅加密定制化 App。
还应注意:
-
尝试解密却已遭解密的数据可能会毁坏数据。相反,可以使用单独的标记指示数据是否已加密,并且仅在需要时解密数据。
-
如果字段内容经过加密、解密、再加密,加密的值每次都不相同。
-
如果密钥泄露,您需要能够找到包含加密数据的所有记录,以便使用泄露的密钥进行解密,然后使用新密钥重新加密。