mssql sqlserver ENCRYPTBYPASSPHRASE系统函数使用简介说明


摘要:
下文讲述加密函数”ENCRYPTBYPASSPHRASE”的用法简介,如下所示
实验环境:sql server 2008 R2



ENCRYPTBYPASSPHRASE 功能说明


ENCRYPTBYPASSPHRASE:此函数是一个使用TRIPLE DES 算法以及 128 密钥位长度的对字符串进行加密的函数。

ENCRYPTBYPASSPHRASE 语法说明:
EncryptByPassPhrase ( { ‘passphrase’ | @passphrase }
, { ‘cleartext’ | @cleartext }
[ , { add_authenticator | @add_authenticator }
, { authenticator | @authenticator } ] )

——参数说明———–
passphrase
密钥–指定常量
@passphrase
密钥变量—
@passphrase变量类型为:
nvarchar、char、varchar、binary、varbinary、nchar
@passphrase大小最大为8000个字节
cleartext:
待加密的字符串
@cleartext
待加密的字符串变量
@cleartext变量类型为:
nvarchar、char、varchar、binary、varbinary、nchar
@cleartext大小最大为8000个字节
add_authenticator:
此变量类型为int
设置验证器是否同待加密字符串一起加密
@add_authenticator:
是否加hash同待加密字符串一起加密。
authenticator:
生成验证器数据
@authenticator
验证器变量
———ENCRYPTBYPASSPHRASE返回值—–
返回一个varbinary数据类型,数据大小为8000字节


注意事项:
1.密钥可包含空格
2.此函数只做加密操作,不对密钥的复杂性做验证



ENCRYPTBYPASSPHRASE 举例应用

 declare @maomaoKey nvarchar(30)
set @maomaoKey ='testSqlBlog'

select EncryptByPassPhrase(@maomaoKey  
    ,N'猫猫小屋')