Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere 服务器 - 数据库管理 » 安全 » 数据安全 » 数据库加密和解密

 

创建加密数据库

要创建加密的数据库,可以采用下列方式:

  • 将 dbinit 实用程序与各种选项配合使用来启用高度加密。

    dbinit 实用程序 -ep 和 -ek 选项可以创建采用高度加密的数据库,您可以在提示框或命令行中指定加密密钥。dbinit -ea 选项将加密算法设置为 AES 或 AES256 算法(或者,对于 FIPS 认证的算法,设置为 AES_FIPS 或 AES256_FIPS 算法)。请参见初始化实用程序 (dbinit)

  • 使用 Sybase Central 的 [创建数据库向导] 创建高度加密的数据库。请参见创建数据库 (Sybase Central)

  • 将 dbunload 实用程序与相应选项配合使用来创建新的采用高度加密的数据库。-an 选项创建新的数据库。要在提示框或命令行中指定高度加密和加密密钥,请使用 -ep 或 -ek 选项。-ea 选项将加密算法设置为 AES 或 AES256 算法(或者,对于 FIPS 认证的算法,设置为 AES_FIPS 或 AES256_FIPS 算法)。请参见卸载实用程序 (dbunload)

  • 使用 Sybase Central 的 [卸载数据库向导] 创建高度加密的数据库。请参见使用 [卸载数据库向导] 导出数据

  • 使用以下 SQL 语句:

 ♦ 创建加密数据库 (SQL)
  1. 从 Interactive SQL 连接到现有数据库。

  2. 执行包含 ENCRYPTION 子句、KEY 以及 ALGORITHM 选项的 CREATE DATABASE 语句。

    例如,以下语句会使用 FIPS 认证的 128 位 AES 加密在 c:\ 目录中创建一个名为 myencrypteddb.db 的数据库文件。

    CREATE DATABASE 'c:\\myencrypteddb.db'
    TRANSACTION LOG ON
    ENCRYPTED ON
      KEY '0kZ2o52AK#'
      ALGORITHM 'AES_FIPS';
 ♦ 创建加密数据库(命令行)
  1. 使用 dbinit 实用程序创建一个数据库。必须附带 -ek 或 -ep 选项,以便相应地在命令提示符处或窗口中指定加密密钥。

    以下命令会创建一个高度加密的数据库,并指定加密密钥和算法。

    dbinit -ek "0kZ2o56AK#" -ea AES_FIPS "myencrypteddb.db"
  2. 运行以下命令启动数据库:

    dbeng12 myencrypteddb.db -ek "0kZ2o56AK#"
 ♦ 使用现有数据库创建加密数据库 (SQL)
  1. 从 Interactive SQL 连接到现有数据库(不是您所复制的数据库)。

  2. 使用 CREATE ENCRYPTED DATABASE 语句对数据库加密。

    以下语句使用数据库文件 demo.db,并为该文件创建一个名为 encryptedDemo.db 的 AES 加密的副本。

    CREATE ENCRYPTED DATABASE 'encryptedDemo.db'
    FROM 'demo.db'
    KEY 'abc'
    ALGORITHM 'AES';

    当执行 CREATE ENCRYPTED DATABASE 语句时,实际上不会加密(覆盖)原文件,而是为该文件创建一个加密形式副本。如果存在与此数据库关联的事务日志、事务日志镜像或 dbspace,则也会创建这些文件的加密副本。请参见CREATE ENCRYPTED DATABASE 语句

 为技术支持加密数据库
 比较 CREATE ENCRYPTED DATABASE 和 CREATE ENCRYPTED FILE 语句
 另请参见