SQL版本: SQL 2012

最近工作,内网WebService映射到外网,敏感数据(收集号码、身份证号)被waf(防火墙)和谐为“*”号,想着接口里将此类敏感数据进行加密返回,特在百度查询了下,进行了相关学习。

原始网址: SQL Server加密与解密 - 缥缈的尘埃 - 博客园

1. PassPhrase加密

--以下内容中的ceaning字符串作为加密和解密的密钥使用--加密
CREATE FUNCTION dbo.EncryptPass(@EnPass VARCHAR(32))RETURNS VARBINARY(MAX)
AS
BEGINDECLARE @Result VARBINARY(MAX)SET @Result=EncryptByPassPhrase('ceaning',@EnPass)RETURN @Result
END--解密
CREATE FUNCTION dbo.DecryptPass(@DePass VARBINARY(MAX))RETURNS VARCHAR(32)
AS
BEGIN DECLARE @Result VARCHAR(32)SET @Result=CONVERT(VARCHAR,DecryptByPassPhrase('ceaning',@DePass))RETURN @Result
END--测试
SELECT dbo.EncryptPass('15982425538') AS RESULT
SELECT dbo.DecryptPass(0x01000000F2C7CCB4EBBDB45D834A01F12FB5CE248BD537C40A3B9A2D97C17D9A259C3F51) AS RESULT
SELECT dbo.DecryptPass(dbo.EncryptPass('15982425538')) AS RESULT

2. 证书加密

--以下内容中的ceaning字符串作为加密和解密的密钥使用--创建证书
CREATE CERTIFICATE EncodeCert
ENCRYPTION BY PASSWORD='ceaning'
WITH SUBJECT='cwx', START_DATE='2022-01-01', EXPIRY_DATE='2022-12-31'--证书加密
CREATE FUNCTION dbo.EncryptCert(@EnPass VARCHAR(32))RETURNS VARBINARY(MAX)
AS
BEGINDECLARE @Result VARBINARY(MAX)SET @Result=EncryptByCert(Cert_ID('EncodeCert'),@EnPass)RETURN @Result
END--证书解密
CREATE FUNCTION dbo.DecryptCert(@DePass VARBINARY(MAX))RETURNS VARCHAR(32)
AS
BEGIN DECLARE @Result VARCHAR(32)SET @Result=CONVERT(VARCHAR,DECRYPTBYCERT(Cert_ID('EncodeCert'),@DePass,N'ceaning'))RETURN @Result
END--测试
SELECT dbo.EncryptCert('15982425538')
SELECT dbo.DecryptCert(0xA521A48B2EC1CECBCECB2C138C868CC68D9DE93AB183F1C860C5857CAD286CD0B03123D2098966B2F282A8928307B3F9CAE73C50656E4E6E177B04BE2EF4B2782FB18BB09A4996AF64D79051C8514BDE3C11B02E0B21E6B18948785C151088665C4354BADDE259C41B26303711B7670300AF2A91159FE96A9D9D6EC0E0FC9C0A)
SELECT dbo.DecryptCert(dbo.EncryptCert('15982425538'))

SQL 敏感数据加密与解密相关推荐

  1. delphi7aes加密解密与java互转_惊呆了!不改一行Java代码竟然就能轻松解决敏感信息加解密|原创

    前言 出于安全考虑,现需要将数据库的中敏感信息加密存储到数据库中,但是正常业务交互还是需要使用明文数据,所以查询返回我们还需要经过相应的解密才能返回给调用方. ❝ ps:日常开发中,我们要有一定的安全 ...

  2. 解决 IDEA 调用其他类的时候自动加上包路径和类名的情况_惊呆了!不改一行 Java 代码竟然就能轻松解决敏感信息加解密...

    前言 出于安全考虑,现需要将数据库的中敏感信息加密存储到数据库中,但是正常业务交互还是需要使用明文数据,所以查询返回我们还需要经过相应的解密才能返回给调用方. ❝ ps:日常开发中,我们要有一定的安全 ...

  3. 惊呆了!不改一行 Java 代码竟然就能轻松解决敏感信息加解密

    前言 出于安全考虑,现需要将数据库的中敏感信息加密存储到数据库中,但是正常业务交互还是需要使用明文数据,所以查询返回我们还需要经过相应的解密才能返回给调用方. ❝ ps:日常开发中,我们要有一定的安全 ...

  4. 安全扫描:敏感数据加密传输和保存(国密)

    记难受的老项目进行安全扫描的坑:敏感数据加密传输和保存 首先我们先创建这么一个JAVA工具类,用里面的main方法来得到SM2加密时需要用到的公钥和私钥,需要注意的是,执行一次就拿到这两个值来放到另一 ...

  5. 加密越来越简单——用JavaScript实现数据加密和解密

    加密越来越简单--用JavaScript实现数据加密和解密 概念 常用算法 1. MD5加密算法 2. SHA-1加密算法 3. AES加密算法 代码示例 结论 总结 在当今互联网的世界中,安全性越来 ...

  6. ASP.NET(C#)常用数据加密和解密方法汇总

    ASP.NET(C#)常用数据加密和解密方法汇总  一.            数据加密的概念 1.  基本概念 2.  基本功能 3.  加密形式 二.            数据加密的项目应用和学 ...

  7. php接口数据加密、解密、验证签名【转】

    <?php /** * 数据加密,解密,验证签名 * @edit http://www.lai18.com * @date 2015-07-08 **/ //header('Content-Ty ...

  8. Python之数据加密与解密(hashlib、hmac、random、base64、pycrypto)--转载

    本文内容 数据加密概述 Python中实现数据加密的模块简介 hashlib与hmac模块介绍 random与secrets模块介绍 base64模块介绍 pycrypto模块介绍 总结 参考文档 提 ...

  9. Python数据加密与解密相关操作(hashlib、hmac、random、base64、pycrypto)

    本文内容 数据加密概述 Python中实现数据加密的模块简介 hashlib与hmac模块介绍 random与secrets模块介绍 base64模块介绍 pycrypto模块介绍 总结 参考文档 提 ...

最新文章

  1. python 空对象模式_Python 单例模式(3种方式)
  2. 将页面多个下拉框的值以字符串拼接方式存放至数据库一个字段中
  3. mysql 索引 normal_mysql索引类型 normal, unique, full text
  4. [云炬python3玩转机器学习笔记] 3-12 数据加载和简单的数据探索
  5. Guru of the Week 条款01: 变量的初始化
  6. 子乐云音乐播放器源码V1.2php源码
  7. NLP(paper + code)
  8. php 微信转发朋友圈,php微信分享到朋友圈、QQ、朋友、微博
  9. 153. Find Minimum in Rotated Sorted Array找其中的最小值
  10. 《算法新解》读记(一)
  11. 3U VPX导冷高性能SRIO/以太网数据交换板
  12. oracle财务软件凭证打印,ORACLE财务软件简明操作文档.doc
  13. 点击程序不弹出界面,但有后台服务
  14. BZOJ 2563 阿狸和桃子的游戏 题解(贪心)
  15. A*算法求解迷宫问题(算法讲解与证明、python实现与可视化)
  16. 离线地图开发-含源代码(免费)
  17. listview 的首行固定内容标题且加粗显示(类似于表格的首行)的实现方法
  18. 怎么取名都不队-DevOps
  19. FM ALV和OO ALV的区别
  20. 光谱数据计算CIE值(三刺激值、CIE1931、CIE1976、CCT)软件人品大家自己看

热门文章

  1. 三国志战略版:Daniel_“坦克兵种”象兵分析
  2. PHP上网网址电影视频导航网站设计
  3. 今日头条后端面经总结(2018.12月)(转自牛客网)
  4. Jumpserver-堡垒机
  5. P4139 上帝与集合的正确用法
  6. AssetBundle.CreateFromFile的有趣事情
  7. Kubernetes开发(6)-MutatingAdmissionWebhook练手
  8. 云打包苹果证书生成、上架和应用截屏攻略
  9. NGUI名字跟随、伤害显示、血条和miss效果的制作
  10. MySQL 面试题(一):索引失效的几种情况