如何从数据库获取解密的数据?

斯蒂芬·L19

我想使用加密来保护数据库中的敏感数据。我已经使用AES_256算法使用对称密钥和证书对SQL数据库中的数据进行了加密。现在的问题是,我不知道如何处理ASP.NET应用程序中的加密/解密部分。我可以从用户那里收到一个字符串,并且应该能够解密该字符串并检查它是否等于数据库中的某个加密值。我得到了钥匙

SELECT KEY_GUID('KeyName')

我的问题是如何通过使用此密钥来处理我的asp应用程序中的解密部分。我试图使用它,但是它不起作用。

马特
DECLARE @KeyName SYSNAME = 'keyName'

IF NOT EXISTS (SELECT * FROM sys.openkeys WHERE key_name = @KeyName)
BEGIN
    OPEN SYMMETRIC KEY keyName DECRYPTION BY CERTIFICATE certificateName;
END

DECLARE @WhatToEncrypt VARCHAR(400) = 'Something To Encrypt can be binary or character'

DECLARE @EncryptedBinary VARBINARY(MAX)
SET @EncryptedBinary = ENCRYPTBYKEY(KEY_GUID(@KeyName),@WhatToEncrypt)

DECLARE @DecryptedBinary VARBINARY(MAX)
SET @DecryptedBinary = DECRYPTBYKEY(@EncryptedBinary)

SELECT @WhatToEncrypt as Original, CAST(@DecryptedBinary AS VARCHAR(400)) as EncryptedThenDecrypted

--may want to add some logic to see if it was open and leave it open
CLOSE SYMMETRIC KEY keyName

当使用您描述的DB Encryption技术时,需要在SQL方面而不是ASP.Net方面进行加密和解密。因此,要在C#中实现,您基本上必须传递适用的SQL语句,就像执行存储过程之类。

我建议您使用存储过程来打开和关闭键,然后简单地使用函数,ENCRYPTBYKEYDECRYPTBYKEY根据需要比较值等。

还要注意,两个加密功能也可以像盐一样传递验证数据。

ENCRYPTBYKEY- https://msdn.microsoft.com/en-us/library/ms174361.aspx

DECRYPTBYKEY- https://msdn.microsoft.com/en-us/library/ms181860.aspx

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Firebase数据库获取数据

来自分类Dev

如何从数据库中获取数据?

来自分类Dev

Yii如何从数据库获取数据

来自分类Dev

如何从数据库获取数据

来自分类Dev

如何从数据库获取JSON数据?

来自分类Dev

如何获取数据库的内容数据?

来自分类Dev

Android上的Whatsapp数据库解密

来自分类Dev

Android上的Whatsapp数据库解密

来自分类Dev

使用AES的SQLite数据库解密

来自分类Dev

Realm 数据库解密失败

来自分类Dev

如何获取数据库中的数据数据

来自分类Dev

如何从数据库Firebase获取值

来自分类Dev

如何从Firebase数据库获取密钥?

来自分类Dev

QCompleter,如何从数据库获取ID

来自分类Dev

如何获取GDBM数据库的结构

来自分类Dev

如何从MySQL数据库获取特定数据?

来自分类Dev

如何从现有的MongoDB数据库获取数据?

来自分类常见问题

如何从数据库获取数据作为变量?

来自分类Dev

如何使用foreach从数据库表中获取数据-

来自分类Dev

如何使用休眠模板从数据库获取数据

来自分类Dev

如何使用Code Igniter从MySQL数据库获取数据?

来自分类Dev

如何从休眠中的数据库中获取数据

来自分类Dev

如何从用逗号分隔的数据库中获取数据?

来自分类Dev

如何从数据库获取数据并创建动态选择?

来自分类Dev

如何从Firebase中的实时数据库获取数据

来自分类Dev

Yii:如何从数据库获取多个数据

来自分类Dev

Django + Angular2:如何从数据库获取数据?

来自分类Dev

如何从数据库中随机获取数据?

来自分类Dev

如何基于从火力数据库值获取数据