数据加密解密

运行了就知道怎么回事儿了。
这个是一个简单的例子 里面还涉及到 如 对称密钥加密使用证书解密,没有涉及到。
可以查看:
OPEN SYMMETRIC KEY 命令关于 对称密钥加密使用证书解密 
CREATE  MASTER  KEY  ENCRYPTION  BY  PASSWORD  =  'password'
go
CREATE  CERTIFICATE  CertTest
with  SUBJECT  =  'Test Certificate'
GO
-- 创建非对称密钥
CREATE  ASYMMETRIC  KEY  TestAsymmetric
     WITH  ALGORITHM  =  RSA_2048
     ENCRYPTION  BY  PASSWORD  =  'password1'  ;
GO
ALTER  ASYMMETRIC  KEY  TestAsymmetric  WITH  PRIVATE  KEY  ( DECRYPTION  BY  PASSWORD  =  'password1' )
 
--DROP ASYMMETRIC KEY TestAsymmetric
-- 创建对称密钥
CREATE  SYMMETRIC  KEY  TestSymmetric
     WITH  ALGORITHM  =  AES_256
     ENCRYPTION  BY  PASSWORD  =  'password'  ;
GO
 
OPEN  SYMMETRIC  KEY  TestSymmetric
DECRYPTION  BY  PASSWORD  =  'password'  ;
 
go
SELECT
 
ENCRYPTBYASYMKEY ( ASYMKEY_ID  ( 'TestAsymmetric' ),  name )     ,
CAST ( deCRYPTBYASYMKEY  ( ASYMKEY_ID (  'TestAsymmetric' ), ENCRYPTBYASYMKEY  ( ASYMKEY_ID (  'TestAsymmetric' ), name  )     )    
  as  nvarchar ( 200  )),
ENCRYPTBYCERT  (  Cert_ID ( 'CertTest'  ), name ),
CAST ( deCRYPTBYCERT  ( Cert_ID  ( 'CertTest' ),  ENCRYPTBYCERT  ( Cert_ID (  'CertTest' ), name  ))
as  nvarchar  ( 200 )),
EncryptByKey  (  KEY_GUID ( 'TestSymmetric'  ), name ),
CAST ( decryptByKey  ( EncryptByKey  ( KEY_GUID  ( 'TestSymmetric' ),  name ))
as  nvarchar  ( 200 ))
 
FROM  sys  . objects

你可能感兴趣的:(加密解密)