我们可以在sql server 2000中编写一个用户定义的函数来加密基于密钥的文本字符串吗?例如,我想尝试写一个三重DES算法来加密文本。如何写声明呢?我在网上查了一下;
考虑升级到SQL Server 2005或更高版本,它包含许多加密功能。他们让事情变得简单:
- 创建证书来管理您的密钥(
CREATE CERTIFICATE
) - 从密码(
CREATE SYMMETRIC KEY
)创建加密密钥 - 写入加密数据到表(
ENCRYPTBYKEY()
) - 从表(
DECRYPTBYKEY()
)中读取解密数据
dotnetslackers.com有一个简单易懂的基础指南。
如果你一定要坚持使用SQL Server 2000,你应该强烈考虑使用第三方加密包,因为从头开始编写3DES不是一件容易的事。Application Security曾经推出过一款名为"DbEncrypt"的产品,但我不知道它是否仍然可用。
我刚找到这篇文章-> http://www.sqlservercentral.com/articles/Security/freeencryption/1980/。似乎您可以通过扩展存储过程来实现这一点。有一些第三方软件可以让你做到这一点。有一个链接,可以从网站下载dll(压缩)。您必须将其添加到sql server的bin文件夹中,并调用一些脚本将其添加到扩展存储过程列表中。我不确定这是否适用于64位机器的sql server。