分类: Sybase
2008-04-11 11:35:12
来源:赛迪网 作者:Sybase |
下例使用触发器在 user_info 表中对存储口令的列进行加密。 user_info的定义方法如下:
数据库中添加了两个触发器,以在添加新用户或更新现有用户的口令时,对 user_pwd 列中的值进行加密。
•每当在 user_info_table 中添加新行时,都会触发encrypt_new_user_pwd 触发器。
•每当在 user_info 表中更新 user_pwd 列时,都会触发encrypt_updated_pwd 触发器。
向数据库添加新用户:
如果发布 SELECT 语句查看 user_info 表中的信息, user_pwd 列中的值为二进制数据 (口令的加密形式),而不是在 INSERT 语句中指定的值abc123
如果更改此用户的口令:
就会触发 encrypt_updated_pwd 触发器,且 user_pwd 列中会出现新口令的加密形式。
发布下面的 SQL 语句可以检索初始口令。此语句使用 DECRYPT 函数和加密密钥对数据进行解密,并使用 CAST 函数将值从 LONG BINARY转换为 CHAR 值:
|