可使用 UltraLite Static C++ API 对 UltraLite 数据库进行加密或模糊处理。
有关背景信息,请参见加密 UltraLite 数据库,
UltraLite 数据库是在第一次连接尝试时创建的。要加密 UltraLite 数据库,可在进行连接尝试之前提供加密密钥。在第一次连接尝试时,提供的密钥用于加密数据库。在以后的连接尝试中,将根据加密密钥检查提供的密钥。仅当密钥匹配时,连接才成功。
对 UltraLite 数据库进行高度加密
装载加密模块。
在打开数据库之前调用 ULEnableStrongEncryption。
通过调用 ULData::Open 打开数据库。
指定加密密钥。
定义具有参数名 key 的 UL_STORE_PARMS 宏。
#define UL_STORE_PARMS "key=a secret key"
与大多数口令一样,最好选择不容易被猜测的密钥值。对密钥的长度没有任何限制,但通常密钥越长越好,因为较短的密钥比较长的密钥更易于猜测。同样,包括数字、字母和特殊字符的组合会减少密钥被猜中的可能性。
密钥中不要包含分号。不要将密钥本身放在引号中,否则引号将被视为密钥的一部分。
每次启动数据库时必须提供该密钥。丢失或忘记密钥会导致数据库完全无法访问。
有关详细信息,请参见 UL_STORE_PARMS 宏。
处理使用错误密钥打开加密数据库的尝试。
如果尝试打开加密数据库时输入的密钥不正确,则 db_init 返回 ul_false,并且设置 SQLCODE -840。
您可以更改数据库的加密密钥。必须在应用程序已使用现有密钥连接到数据库之后,才能进行更改。
更改 UltraLite 数据库的加密密钥
调用 ULChangeEncryptionKey 函数,提供新密钥作为参数。
在调用此函数之前,应用程序必须已使用旧密钥连接到了数据库。
有关详细信息,请参见 ULChangeEncryptionKey 函数。
对 UltraLite 数据库进行模糊处理
在编译生成的数据库时,定义 UL_ENABLE_OBFUSCATION 编译器指令。
有关详细信息,请参见 UL_ENABLE_OBFUSCATION 宏。
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。