首页
登录 | 注册

使用ENCRYPT 函数只加密部分数据库

    来源:赛迪网    作者:Sybase

如果希望只加密部分数据库,则可以使用 ENCRYPT 函数做到这一点。ENCRYPT 函数使用的 AES 高度加密算法与对传递给数据库的值进行加密所用的数据库加密算法相同。

ENCRYPT 函数使用密钥对传递给它的值进行加密。此密钥区分大小写,即使在不区分大小写的数据库中也是如此。与大多数口令一样,最好选择不容易被猜测的密钥值。建议选择满足以下条件的 KEY 值:长度至少为 16 个字符,包含大小写混合以及包含数字、字母和特殊字符。每次要对数据进行解密时,都需要使用此密钥。

注意:保护您的密钥。一定要在安全的位置存储一份密钥。如果丢失了密钥,将导致完全无法访问加密的数据,而加密数据是无法进行恢复的。

使用 DECRYPT 函数以及 ENCRYPT 函数中指定的同一密钥可以对已加密的值进行解密。这两个函数都会返回 LONG BINARY 值。如果需要不同的数据类型,则可使用 CAST 函数将值转换为所需的数据类型。下例介绍如何使用 CAST 函数将已解密的值转换为所需的数据类型。

如果数据库用户需要访问解密形式的数据,但不希望他们访问加密密钥,则可以创建使用 DECRYPT 函数的视图。这样允许用户在不知道加密密钥的情况下访问解密数据。如果创建使用该表的视图或存储过程,则可使用 ALTER VIEW 和 ALTER PROCEDURES 的 SET HIDDEN 参数,以确保用户无法访问加密密钥。


相关文章

  • Wings-让单元测试智能全自动生成
    前言 单元测试是保证软件质量非常有效的手段,无论是从测试理论早期介入测试的理念来看或是从单元测试不受UI影响可以高速批量验证的特性,所以业界所倡导的测试驱动开发,这个里面提到的测试驱动更多的就是指单元测试驱动.但一般开发团队还是很少的系统化 ...
  • Java调用SQL Server的存储过程详解
    1使用不带参数的存储过程 使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转义序列.不带参数的 call 转义序列的语法如下所示: {call 存储过程名} 作为实例,在 SQL Server 2005 Adv ...
  • Spider引擎分布式数据库解决方案(最全的spider教程)
    最近开始负责财付通的数据库的相关维护工作,其中有几套系统使用的spider引擎,为了以后能更好地对这套系统进行维护,对spider做了一些功课,将spider引擎的功能.使用场景.部署.实战测试等做个简单的总结,希望不了解spider引擎的 ...
  •    SAP Sybase IQ支持如下基本账号登录安全控制机制:        * 用账户登录尝试次数        * 口令有效期        * 强制账户在下一次登录时修改密码        * 通过自定义函数灵活控制口令检查规则 ...
  • 如果不是阿里云的分布式数据库 DRDS 那种多机器集群方案的话: 先考虑表分区 :然后考虑分表 :然后考虑分库. 这个题目是我所经历过的,我做的是GPS应用,早期版本就是选用的关系型数据库Sql Server.当时我选取的方案就是第一种:表 ...
  • http://blog.csdn.net/ilibaba/archive/2009/03/17/3996962.aspx连接池的基本工作原理 1.基本概念及原理 由上面的分析可以看出,问题的根源就在于对数据库连接资源的低效管理.我们知道,对 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.014 s.
苏ICP备12049786号-20