使用对称密钥加密数据示例

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

--为用户XuWei创建证书 ­

USE SQLHOL ­

GO ­

­

CREATE CERTIFICATE CERT_XuWei AUTHORIZATION XuWei ­

ENCRYPTION BY PASSWORD = 'pGFD4bb925DGvbd2439587y' ­

WITH SUBJECT = 'Certificate For Database', ­

START_DATE = '01/01/2006', ­

EXPIRY_DATE = '12/31/2015' ­

GO ­

­

--为用户WangYu创建证书 ­

USE SQLHOL ­

GO ­

CREATE CERTIFICATE CERT_WangYu AUTHORIZATION WangYu ­

ENCRYPTION BY PASSWORD = 'pGFD4bb92sdf23bd2439587y' ­

WITH SUBJECT = 'Certificate For Database', ­

START_DATE = '01/01/2006', ­

EXPIRY_DATE = '12/31/2015' ­

GO ­

­

--为用户创建对称密钥,并用其对应的证书对密钥进行加密 ­

USE SQLHOL ­

GO ­

CREATE SYMMETRIC KEY Key_SYM_XuWei AUTHORIZATION XuWei ­

WITH ALGORITHM = TRIPLE_DES ­

ENCRYPTION BY CERTIFICATE CERT_XuWei ­

GO ­

CREATE SYMMETRIC KEY Key_SYM_WangYu AUTHORIZATION WangYu ­

WITH ALGORITHM = TRIPLE_DES ­

ENCRYPTION BY CERTIFICATE CERT_WangYu ­

GO ­

­

--创建实验用数据表,并授予用户对表的访问权限 ­

USE SQLHOL ­

GO ­

CREATE TABLE dbo.Tab1 ­

( ­

PT nchar(10), ­

ET varbinary(128), ­

) ­

GO ­

GRANT SELECT, INSERT ON Tab1 TO XuWei ­

GRANT SELECT, INSERT ON Tab1 TO WangYu ­

GO ­

­

--利用用户XuWei的身份写入一行加密数据 ­

USE SQLHOL ­

GO ­

EXECUTE AS LOGIN = 'XuWei' ­

OPEN SYMMETRIC KEY Key_SYM_XuWei DECRYPTION BY CERTIFICATE CERT_XuWei WITH PASSWORD='pGFD4bb925DGvbd2439587y' ­

INSERT INTO Tab1 ­

VALUES (N'XuWei',EncryptByKey(Key_GUID('Key_SYM_XuWei'), N'I am XuWei')) ­

CLOSE ALL SYMMETRIC KEYS ­

REVERT ­

GO ­

SELECT * FROM tab1 ­

SELECT user ­

­

--利用用户WangYu的身份写入一行加密数据 ­

USE SQLHOL ­

GO ­

EXECUTE AS LOGIN = 'WangYu' ­

OPEN SYMMETRIC KEY Key_SYM_WangYu DECRYPTION BY CERTIFICATE CERT_WangYu WITH PASSWORD = 'pGFD4bb92sdf23bd2439587y' ­

INSERT INTO Tab1 ­

VALUES (N'WangYu',EncryptByKey(Key_GUID('Key_SYM_WangYu'), N'I am WangYu')) ­

CLOSE ALL SYMMETRIC KEYS ­

REVERT ­

GO ­

SELECT * FROM tab1 ­

SELECT user ­

--检视加密后的数据表数据 ­

USE SQLHOL ­

GO ­

SELECT * FROM Tab1 ­

GO ­

OPEN SYMMETRIC KEY Key_SYM_XuWei DECRYPTION BY CERTIFICATE CERT_XuWei WITH PASSWORD = 'pGFD4bb925DGvbd2439587y' ­

SELECT PT, CONVERT(nchar,DecryptByKey(ET)) AS ET FROM Tab1 ­

CLOSE ALL SYMMETRIC KEYS ­

--利用XuWei的身份对加密数据进行解密 ­

USE SQLHOL ­

GO ­

EXECUTE AS USER = 'XuWei' ­

OPEN SYMMETRIC KEY Key_SYM_XuWei DECRYPTION BY CERTIFICATE CERT_XuWei WITH PASSWORD = 'pGFD4bb925DGvbd2439587y' ­

SELECT PT, CONVERT(nchar,DecryptByKey(ET)) AS ET FROM Tab1 ­

CLOSE ALL SYMMETRIC KEYS ­

GO ­

REVERT ­

GO ­

­

--利用WangYu的身份对加密数据进行解密 ­

USE SQLHOL ­

GO ­

EXECUTE AS LOGIN = 'WangYu' ­

OPEN SYMMETRIC KEY Key_SYM_WangYu DECRYPTION BY CERTIFICATE CERT_WangYu WITH PASSWORD = 'pGFD4bb92sdf23bd2439587y' ­

SELECT PT, CONVERT(nchar,DecryptByKey(ET)) AS ET FROM Tab1 ­

CLOSE ALL SYMMETRIC KEYS ­

GO ­

REVERT ­

GO ­

­

SELECT USER ­

­

select * from sys.certificates ­

select * from sys.asymmetric_keys ­

select * from sys.symmetric_keys ­

使用SM4对称密钥(CBC模式)加解密(ArkTS) 调用Cipher.init,设置模式为加密(CryptoMode.ENCRYPT_MODE),指定加密密钥(SymKey)和CBC模式对应的加密参数(IvParamsSpec),初始化加密Cipher实例。调用Cipher.init,设置模式为解密(CryptoMode.DECRYPT_MODE),指定解密密钥(SymKey)和CBC模式对应的解密参数(IvParamsSpec),初始化解密Cipher实例。调用Cipher.update,更新数据(密文)。 阅读详情

相关推荐

python 如何实现 aes 加密

在Python中,使用pycryptodome库可以轻松地实现AES加密。本文将介绍如何使用Python实现AES加密以及如何使用pycryptodome库来进行加密

devid008的博客 5259

java中以DES的方式实现对称加密并提供密钥的实例

主要介绍了java中以DES的方式实现对称加密并提供密钥的实例的相关资料,这里提供实例帮助大家学习理解这部分知识,需要的朋友可以参考下

使用对称密钥加密保护 SQL Server 数据

在上述代码中,我们创建了一个主密钥(Master Key),并使用一个密码来加密它。最后,我们使用证书创建了一个对称密钥(Symmetric Key),指定了加密算法(这里使用 AES-256)。对称密钥加密使用相同的密钥来加密和解密数据,因此密钥的保护至关重要。请注意,对称密钥的保护非常重要,应该采取适当的措施来保护密钥的安全性,例如限制访问权限和定期更换密钥。然后,我们使用 DECRYPTBYKEY 函数对加密的列进行解密,并将解密后的结果作为 “DecryptedValue” 返回。

DiAngular的博客 392

对称加密实例

实现文件的加密,字符串的加密,灵活,使用,根据自己的实际情况,实现加密操作,方便快捷。安全。

探秘密码学:深入了解对称加密与密钥协商技术

对于DH算法来说,虽然双方在没有任何预先信息的条件下,可以完成密钥协商,但密钥协商过程也存在中间人攻击的风险。现代密码学中的安全是基于密钥的保密性的,而不是古典密码学的算法的保密性。对于绝大部分普通用户或者组织,相对于去尝试自己开发一个加密算法,直接采用成熟的算法,把精力放在密钥保管上更为合理。

dzqxwzoe的博客 1040

【对称加密

典型的对称加密案例是凯撒算法 明文字母:hello world 加密: =》 把hello world 按照字母表 移动N位 (密钥) 假设右移动1位:gdmp xpsme (密文) 内部人员会得到密钥和密文 按照按照密钥的说明重新移动回来,左移移动回来 得到明文:hello world 明文:明文指的是未被加密过的原始数据。 密文:明文被某种加密算法加密之后,会变成密文,从而确保原始数据的安全。 密钥:密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输 入的参数 对称加密的特点 对称适合于

寄北测试学习进阶记录 3005

Java –对称密钥密码术示例

对称密钥密码术是一种加密系统,其中相同的密钥用于数据的编码和解码。 密钥的安全分发是此方法的缺点之一,但是它缺乏安全性,因此会增加时间复杂度。 人们应该始终假设加密算法是众所周知的,并且不依赖于“默默无闻的安全性”。 最受欢迎的对称算法是DES,Triple-DES,AES,Blowfish,RC2,RC4(ARCFOUR),RC5,RC6。 1.对称密钥密码术的用例 在下面,您可以...

一名可爱的技术搬运工 780

使用对称加密算法的例子

using System;using System.Security.Cryptography;using System.Text;using System.IO;/// /// 使用对称加密算法的例子/// class Class2{ static void Main(string[] args) {  Class2 c=new Class2();  c.StartDemo(); }

jxufewbt的专栏 4672

SQL server 数据加密

简介 加密是指通过使用密钥或密码对数据进行模糊处理的过程。在SQL Server中,加密并不能替代其他的安全设置,可以当数据库破解或是备份被盗取后的最后一道防线,通过加密,未经授权的人在没有密匙或密码的情况下所窃取的数据变成毫无意义。 ...

心若静,风奈何 9117

数据加密

--示例一,使用证书加密数据. --建立测试数据表 CREATE TABLE tb(ID int IDENTITY(1,1),data varbinary(8000)); GO --建立证书一,该证书使用数据库主密钥来加密 CREATE CERTIFICATE Cert_Demo1 WITH SUBJECT=N'cert1 encryption by database ma

Bean 872

使用SM4对称密钥(ECB模式)加解密(ArkTS)

调用cryptoFramework.createCipher,指定字符串参数’SM4_128|ECB|PKCS7’,创建对称密钥类型为SM4_128、分组模式为ECB、填充模式为PKCS7的Cipher实例,用于完成加密操作。调用cryptoFramework.createCipher,指定字符串参数’SM4_128|ECB|PKCS7’,创建对称密钥类型为SM4_128、分组模式为ECB、填充模式为PKCS7的Cipher实例,用于完成解密操作。调用Cipher.doFinal,获取解密后的数据

RZer的博客 883

保护数据库信息,如何用Go语言+对称密钥数据加密

作者 | Purnaresa Yuliartanto译者 | 凯隐编辑 | Jane出品 | 区块链大本营(ID:blockchain_camp)个人识别信息(PII)是客户告知服务提供...

区块链大本营 1759

鸿蒙next开发:加解密开发指南(使用SM4对称密钥(GCM模式)分段加解密(ArkTS))

本文详细介绍了在鸿蒙(HarmonyOS)系统中使用SM4对称密钥(GCM模式)进行分段加解密的实现方法。

qq_39652397的博客 1161

使用AES对称密钥(GCM模式)加解密(ArkTS)

调用Cipher.init,设置模式为加密(CryptoMode.ENCRYPT_MODE),指定加密密钥(SymKey)和GCM模式对应的加密参数(GcmParamsSpec),初始化加密Cipher实例。调用Cipher.init,设置模式为解密(CryptoMode.DECRYPT_MODE),指定解密密钥(SymKey)和GCM模式对应的解密参数(GcmParamsSpec),初始化解密Cipher实例。调用Cipher.update,更新数据(明文)。

RZer的博客 1099

鸿蒙next开发:加解密开发指南(使用SM4对称密钥(GCM模式)加解密(ArkTS))

本文详细介绍了在鸿蒙系统中使用SM4对称密钥(GCM模式)进行数据加解密的实现方法。

qq_39652397的博客 880

使用3DES对称密钥(ECB模式)加解密(ArkTS)

调用cryptoFramework.createCipher,指定字符串参数’3DES192|ECB|PKCS7’,创建对称密钥类型为3DES192、分组模式为ECB、填充模式为PKCS7的Cipher实例,用于完成加密操作。调用cryptoFramework.createCipher,指定字符串参数’3DES192|ECB|PKCS7’,创建对称密钥类型为3DES192、分组模式为ECB、填充模式为PKCS7的Cipher实例,用于完成解密操作。调用Cipher.doFinal,获取解密后的数据

RZer的博客 501

sqlserver中使用aes加密数据

为什么80%的码农都做不了架构师?>>> ...

weixin_34346099的博客 2931

sql 2005数据加密 示例

转贴自teched讲师:  牛可  基本概念:第一层 服务主密钥 备份服务主密钥backup service master key to file=c:/smk.bakencryption by password=P@ssw0rd restore service master key from file=c:/smk.bakdecryption by p

happydreamer的专栏 1975

SQL数据加密方法

<br />  SQL数据加密方法 收藏 <br />转贴自teched讲师:  牛可  <br />基本概念:<br />第一层 服务主密钥 <br />备份服务主密钥<br />backup service master key to file='c:/smk.bak'<br />encryption by password='P@ssw0rd'<br /> <br />restore service master key from file='c:/smk.bak'<br />decryption

ziyouluoye的专栏 1478
ivan1001
博客等级 码龄18年 1粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值