Collection Contents 上一页 下一页 PDF

UltraLite C/C++ 用户指南

使用 Static C++ API 开发应用程序

对数据进行加密


可使用 UltraLite Static C++ API 对 UltraLite 数据库进行加密或模糊处理。

有关背景信息,请参见加密 UltraLite 数据库

加密 

UltraLite 数据库是在第一次连接尝试时创建的。要加密 UltraLite 数据库,可在进行连接尝试之前提供加密密钥。在第一次连接尝试时,提供的密钥用于加密数据库。在以后的连接尝试中,将根据加密密钥检查提供的密钥。仅当密钥匹配时,连接才成功。

对 UltraLite 数据库进行高度加密

  1. 装载加密模块。

    在打开数据库之前调用 ULEnableStrongEncryption

    通过调用 ULData::Open 打开数据库。

  2. 指定加密密钥。

    定义具有参数名 key 的 UL_STORE_PARMS 宏。

    #define UL_STORE_PARMS "key=a secret key"

    与大多数口令一样,最好选择不容易被猜测的密钥值。对密钥的长度没有任何限制,但通常密钥越长越好,因为较短的密钥比较长的密钥更易于猜测。同样,包括数字、字母和特殊字符的组合会减少密钥被猜中的可能性。

    密钥中不要包含分号。不要将密钥本身放在引号中,否则引号将被视为密钥的一部分。

    每次启动数据库时必须提供该密钥。丢失或忘记密钥会导致数据库完全无法访问。

    有关详细信息,请参见 UL_STORE_PARMS 宏

  3. 处理使用错误密钥打开加密数据库的尝试。

    如果尝试打开加密数据库时输入的密钥不正确,则 db_init 返回 ul_false,并且设置 SQLCODE -840。

更改加密密钥 

您可以更改数据库的加密密钥。必须在应用程序已使用现有密钥连接到数据库之后,才能进行更改。

更改 UltraLite 数据库的加密密钥

模糊处理 

对 UltraLite 数据库进行模糊处理


Collection Contents 上一页 下一页 PDF