如何在sql server中解密视图(关于SQL Server加密与解密的问题)
类别:数据库 浏览量:1378
时间:2021-10-02 01:18:29 如何在sql server中解密视图
关于SQL Server加密与解密的问题一、PassPhrase加密1.1、概要简述
1)对于不涉及证书及密钥的应急的数据加密,可以直接基于用户提供的密码来加密和解密数据。
2)通行短语(PassPhrase)是允许存在空格的密码。这个PassPhrase不会存储在数据库中,因而也就意味着不会被使用存储的系统数据"破解"。同时,可以使用空格创建一个长的、易于记忆的句子来加密和解密敏感数据。
3)PassPhrase支持的数据列类型有nvarchar、varchar、nchar、char、varbinary、binary。
1.2、加密函数
CREATE FUNCTION dbo.EncryptPass(@EnPass VARCHAR(32)) RETURNS VARBINARY(MAX) AS BEGIN DECLARE @Result VARBINARY(MAX) SET @Result=EncryptByPassPhrase('HelloWorld',@EnPass) RETURN @Result END
1.3、解密函数
CREATE FUNCTION dbo.DecryptPass(@DePass VARBINARY(MAX)) RETURNS VARCHAR(32) AS BEGIN DECLARE @Result VARCHAR(32) SET @Result=CONVERT(VARCHAR,DecryptByPassPhrase('HelloWorld',@DePass)) RETURN @Result END
1.4、结果测试
SELECT dbo.EncryptPass('测试字符串') AS RESULT SELECT dbo.DecryptPass(0x0100000045FE8873D07BFB747D33D81D1C1E06CA3EC10D718CF603E395D4493BFBFC5683) AS RESULT SELECT dbo.DecryptPass(dbo.EncryptPass('测试字符串')) AS RESULT
1.5、执行结果
二、证书加密2.1、概要简述
1)证书可以在数据库中加密和解密数据。
2)证书包含密钥对、证书拥有者的信息、证书可用的开始和结束过期日期,同时还包含公钥和密钥,前者用来加密,后者用来解密。
3)SQL Server可以生成它自己的证书,也可以从外部文件或程序集载入。证书比非对称密钥更易于移植,可以在数据库中很方便地重用。
2.2、创建证书
CREATE CERTIFICATE TestCert ENCRYPTION BY PASSWORD='HelloWorld' WITH SUBJECT='Hello World', START_DATE='2021-01-20', EXPIRY_DATE='2021-12-31'
2.3、加密函数
CREATE FUNCTION dbo.EncryptCert(@EnPass VARCHAR(32)) RETURNS VARBINARY(MAX) AS BEGIN DECLARE @Result VARBINARY(MAX) SET @Result=EncryptByCert(Cert_ID('TestCert'),@EnPass) RETURN @Result END
2.4、解密函数
CREATE FUNCTION dbo.DecryptCert(@DePass VARBINARY(MAX)) RETURNS VARCHAR(32) AS BEGIN DECLARE @Result VARCHAR(32) SET @Result=CONVERT(VARCHAR,DECRYPTBYCERT(Cert_ID('TestCert'),@DePass,N'HelloWorld')) RETURN @Result END
2.5、结果测试
SELECT dbo.EncryptCert('测试字符串') AS RESULT SELECT dbo.DecryptCert(0x836021834D8D25E4DAD0CD26767A77A7FFF9CE9BDCA7BDE72E418118DB58DFB8AF6325B7A9D1D6C2D5D43800120A5C5D212BC4A645D10A065A147C5E97B419DAF6DC203598E376AE4A520B45D145F2C2A6BAE23B49AD3EA45BDAAC1FBD78E8402195DDA0842CA5A89942D03C5D7B82F7E8241D8BD698115C78CEBD5AC0066C6C) AS RESULT SELECT dbo.DecryptCert(dbo.EncryptCert('测试字符串')) AS RESULT
2.6、执行结果
到此这篇关于关于SQL Server加密与解密的问题的文章就介绍到这了,更多相关SQL Server加密与解密内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
您可能感兴趣
- mysql密码找回方法(MySQL8忘记密码的快速解决方法)
- sql根据条件查出两条一样的数据(SQL中遇到多条相同内容只取一条的最简单实现方法)
- mysql连接查询原理(MySQL连接查询你真的学会了吗?)
- mysql返回结果集函数(mysql 判断是否为子集的方法步骤)
- mysql密码设置(mysql密码中有特殊字符&在命令行下登录的操作)
- sqlserver维护计划保存在哪(SQL Server误设置max server memory的处理方法)
- 如何排查mysql存储过程的问题(Mysql修改存储过程相关权限问题)
- mysql单独导出表(mysql实现从导出数据的sql文件中只导入指定的一个表)
- mysql innodb存储原理(mysql innodb的重要组件汇总)
- mac的mysql连接问题如何解决(MAC 中mysql密码忘记解决办法)
- mysql字符集怎么看(mysql字符集相关总结)
- mysql的日志怎么清除(MySQL删除了记录不生效的原因排查)
- phpstudymysql数据库启动不了(phpstudy mysql启动不了的解决方法)
- sql性能优化案例(SQL性能优化之定位网络性能问题的方法DEMO)
- sql如何把现有字段设为notnull(在SQL中该如何处理NULL值)
- sql server高可用的实现方式(sql server 编译与重编译详解)
- 前《iLOOK》时装总监 《快乐大本营》御用造型师上线(快乐大本营御用造型师上线)
- 释小龙晒杀青照片 多重身份惹观众期待(释小龙晒杀青照片)
- 《九牛之人降魔传》开机 演员祁高坤化身九牛之人除魔卫道(九牛之人降魔传开机)
- 王铲铲的致富之路无限金币卡法攻略教学(王铲铲的致富之路无限金币卡法攻略教学)
- 文明6金币太少怎么办 文明6无限刷钱教程(文明6金币太少怎么办)
- 开国中将,王牌军63军首任政委,两个连襟一个上将一个少将传为佳话(王牌军63军首任政委)
热门推荐
- dede织梦的后台如何调整和使用(dedecms织梦模板去掉文档内链自动连接关键词的下划线)
- mysql中常用的三种存储引擎的区别(MySQL 存储过程的优缺点分析)
- js时间日期处理
- python实现删除列表重复元素功能(Python实现删除排序数组中重复项的两种方法示例)
- sqlserver2012登录出现报错18456(SQL Server 2012 sa用户登录错误18456的解决方法)
- JS让打开的窗口居中
- dedecms专用环境搭建简单工具(dedecms 搜索时出现“SphinxClient类找不到”解决方法)
- 服务器宝塔面板怎么安装(VPS安装宝塔面板+云锁过程记录)
- 如何用python做一个弹窗(python实现弹窗祝福效果)
- iframe嵌入页面跨域(使用iframe+postMessage实现页面跨域通信的示例代码)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9