将一个现有的字段转换成二进制可以加密一个字段,不过就是忽悠下而已。不能实现根本加密。
Select CONVERT(varbinary(512), cj) as 'miwen', CONVERT(char(10), CONVERT(varbinary(512), cj)) as 'mingwen' From aa
也可以转换成其他的格式如image,binary等。
sql2008新特性里面提供了一些加密方式来给sql数据库中的字段加密。
首先需要建立密钥
CREATE SYMMETRIC KEY [对称密钥名字] WITH ALGORITHM = AES_192 ENCRYPTION BY PASSWORD = '密码' --使用密码的方式
CREATE SYMMETRIC KEY [对称密钥名字] WITH ALGORITHM = AES_192 ENCRYPTION BY CERTIFICATE [证书名称] --使用证书加密方式
--打开密钥
OPEN SYMMETRIC KEY 对称密钥名字 DECRYPTION BY PASSWORD = '密码'
OPEN SYMMETRIC KEY 对称密钥名字 DECRYPTION BY CERTIFICATE '证书名称'
--进行资料加密
Select EncryptByKey(Key_GUID('对称密钥名字'), cj) as 'miwen' From aa
--进行解密
Select CONVERT(char(10), CONVERT(char,DecryptByKey(cj))) AS 'mingwen' From aa