最好选择一个无法被轻易猜到的加密密钥值。对密钥的长度没有任何限制,但通常密钥越长越好,因为与较长的密钥相比,较短的密钥更易于猜测。同样,组合使用数字、字母和特殊字符会减少他人猜中密钥的几率。
加密密钥始终区分大小写,它们不能包含前导空格、尾随空格或分号。
每次想要启动数据库时都必须提供此密钥。丢失或忘记密钥会导致数据库完全无法访问。
可以选择是在命令提示符处(缺省设置)还是在提示框中输入加密密钥。选择在提示框中输入密钥增加了安全性,因为这样人们根本无法看清密钥。每次当客户端启动数据库时,都必须指定密钥。在数据库管理员启动数据库的情况下,客户端永远都不需要具有访问密钥的权限。请参见-ep 服务器选项。
对于高度加密的数据库,请务必将密钥的副本保存在安全的位置。如果丢失了加密密钥,就没有办法访问数据,即使有技术支持人员协助也不行。此时必须放弃该数据库并创建一个新的数据库。
可以使用 CREATE ENCRYPTED DATABASE 语句更改已加密数据库或已启用表加密的数据库的加密密钥。与加密数据库时的情况一样,实际执行的操作并不是覆盖现有文件,而是创建该文件的一个使用新密钥进行加密的副本。
使用 CREATE ENCRYPTED DATABASE 语句更改已加密数据库的加密密钥。
以下示例使用以密钥 abc 加密的数据库文件 myOldDatabase.db,并为该文件创建一个使用密钥 abc123 加密的名为 myNewDatabase.db 的副本。任何其它与数据库相关的文件(例如事务日志、事务日志镜像以及 dbspace 文件)也使用此新加密密钥进行创建。请参见CREATE ENCRYPTED DATABASE 语句。
CREATE ENCRYPTED DATABASE myNewDatabase.db FROM myOldDatabase.db KEY 'abc123' OLD KEY 'abc' ALGORITHM 'AES'; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |