通过T-SQL语句实现数据库加解密功能
CREATE TABLE [dbo].[Users] ( [U_nbr] NVARCHAR(20) NOT NULL PRIMARY KEY, [Pwd] nvarchar(MAX) ) --加密 DECLARE @Pwd nvarchar(max) SET @Pwd='测试加密' --将varbinary类型转换成varchar类型 INSERT INTO Users VALUES ('admin',sys.fn_varbintohexstr(ENCRYPTBYPASSPHRASE('32423sd',@Pwd))) SELECT * FROM Users DECLARE @pv varbinary(max) DECLARE @str nvarchar(max) DECLARE @sql nvarchar(max) --将varchar类型转换成varbinary类型 SELECT @str='0x0100000079e98bc2209c61038f9fc2eaaba24d6b8daad08fd98a41b6' set @sql=N'set @p='+@str+N';' exec sp_executesql @sql, N'@p as varbinary(max) output', @p=@pv output PRINT @pv --解密 SELECT CONVERT(VARCHAR(MAX), DecryptByPassPhrase('123ASSDSS',@pv)) GO