2009-02-27 44 views
0

我们最近在MS SQL 2005中实现了一些对称密钥,用于加密和解密信用卡,查询路由/帐号。CLR加密/解密组装

理想地,我们想用户定义的函数,以便能够执行加密和解密,然而,它不可能的,因为EncryptByKey的和DecryptByKey这个函数不能用户定义函数内使用。

起初我以为我们可以用函数来做到这一点创建一个CLR大会(在C#),但是,因为我学到的规则同样适用。

我想知道其他人一直在做什么来轻松地执行此功能。创造了许多存储过程,如:

OPEN SYMMETRIC KEY ...
SELECT用户名,DecryptByKey这个(...)AS密码 CLOSE SYMMETRIC KEY ...

...在很多领域,我们将加密/解密将是非常繁琐的。

+0

你正在解密密码?真?你知道那根本不是好设计。密码应该是单向散列。可解密的密钥会使数据库中的每个密码都易受攻击。 – Will 2009-02-27 18:05:46

+0

那么主要我会用它的信用卡号码,并检查路由/帐号。 – 2009-02-27 18:09:30

回答

1

无论是一个好主意与否,关于与输出参数的存储过程是什么来达到同样的UDF?