读书人

用DecryptByKey函数解密字段有关问题

发布时间: 2012-04-02 19:58:59 作者: rapoo

用DecryptByKey函数解密字段问题?
我把密码字段设置为varchar,然后创建密钥,打开密钥,插入数据,可是读取的时候却显示为NULL,请问怎么回事

SQL code
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '??xxx'CREATE SYMMETRIC KEY dcmy WITH ALGORITHM = DES ENCRYPTION BY PASSWORD = 'xxx??'--打开对称密钥OPEN SYMMETRIC KEY dcmy  DECRYPTION BY PASSWORD = 'xxx??'--以加密的方式存放数据INSERT INTO [tb_Teacher] (TeaName,TeaPwd) VALUES ('老师五',EncryptByKey(Key_GUID('dcmy'), '456456'))select * from tb_Teacherselect CONVERT(varchar, DecryptByKey(TeaPwd)) from tb_Teacher


对了,再问下,“PASSWORD = 'xxx??'”这句是什么意思???

[解决办法]
要制定密码,
“PASSWORD = 'xxx??'”--这句就是就是指定密码的,
必须要将xxx??换成对应的密码即可.
还有,SQL版本应该是2005吧?
SQL code
create table [tb_Teacher](TeaName nvarchar(20),TeaPwd nvarchar(200));GOCREATE SYMMETRIC KEY dcmy WITH ALGORITHM = DES ENCRYPTION BY PASSWORD = '1234567890'--打开对称密钥OPEN SYMMETRIC KEY dcmy  DECRYPTION BY PASSWORD = '1234567890'--以加密的方式存放数据INSERT INTO [tb_Teacher] (TeaName,TeaPwd) VALUES ('老师五',EncryptByKey(Key_GUID('dcmy'), '456456'))select * from tb_Teacher/*TeaName              TeaPwd-------------------- -----------------老师五                  ???洼?? ????????*/select CONVERT(varchar, DecryptByKey(TeaPwd)) from tb_Teacher/*456456*/ 

读书人网 >SQL Server

热点推荐