如何在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加密与解密内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
您可能感兴趣
- sql server提供的聚合函数(SQLServer行列互转实现思路聚合函数)
- laravel数据表配置(laravel实现按月或天或小时统计mysql数据的方法)
- mysql读写分离怎么实现的(详解MySQL主从复制及读写分离)
- sqlserver表空间占用率(SQL Server获取磁盘空间使用情况)
- phpstudymysql启动又自动停止(Win下解决phpStudy MySQL启动失败)
- docker数据库如何初始化(Docker启动PostgreSQL时创建多个数据库的解决方案)
- mariadb导入数据库命令(MySQL/MariaDB 如何实现数据透视表的示例代码)
- mysql死锁是什么原因(MySQL的MaxIdleConns不合理,会变成短连接的原因)
- SQL中in和exists的区别
- sqlserver乐观锁与悲观锁(sql server中死锁排查的全过程分享)
- mysql详细笔记(MySQL的内存表的基础学习教程)
- sql注入原理详细(Sql注入原理简介_动力节点Java学院整理)
- docker 镜像mysql(解决docker拉取mysql镜像太慢的情况)
- sql查询数据库前五条信息(SQL查询数据库中符合条件的记录的总数)
- mysql错误代码之1064的解决方案(mysql错误代码之1064的解决方案)
- mysql主从复制原理详解(详解MySQL kill 指令的执行原理)
- 数字藏品市场有多乱 周杰伦丢了 一只猴 ,损失超300万(数字藏品市场有多乱)
- 这里输入关键词(怎么输入关键词搜索)
- 得这个 难治病 的人太多了,300个人赶到杭州商量怎么办(得这个难治病的人太多了)
- 经度,世界时间腕表的灵魂(世界时间腕表的灵魂)
- 阿里最新财报公布 三季度营收增长3 ,将增加150亿美元回购额度 在美股价小涨(阿里最新财报公布)
- 赵薇时胖时瘦 最近变美少女 原因在这里 躺着就变瘦(赵薇时胖时瘦最近变美)
热门推荐
- sftp和vsftp有什么区别(浅谈 FTP、FTPS 与 SFTP的区别)
- dedecms屏蔽规则(使用Dedecms中七个容易忽略的安全细节介绍)
- python画折线图(python使用Plotly绘图工具绘制水平条形图)
- mysql存储json的方式(MySQL中查询json格式的字段实例详解)
- 用python如何写tkinter(浅谈python3.6的tkinter运行问题)
- dedecms分页修改(dedecms 自动审核会员发表的最新文章的修改方法)
- python中lambda教程(浅析python的Lambda表达式)
- 阿里云服务器端口和ip(阿里云服务器如何添加安全通信端口?)
- phpinclude的使用方法(PHP defined函数的使用图文详解)
- mysqljson字段查询(Mysql 查询JSON结果的相关函数汇总)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9