【问题标题】:asymmetric encryption for text field文本字段的非对称加密
【发布时间】:2013-09-07 18:00:14
【问题描述】:

我更新了我的问题以反映 sql 加密而不是 asp.net。

我在 sql 中创建了我的密钥

USE DatabaseName
GO
CREATE ASYMMETRIC KEY MyKey
WITH ALGORITHM = RSA_2048
ENCRYPTION BY PASSWORD = 'Password1'

然后我修改了密钥私钥密码

ALTER ASYMMETRIC KEY MKey
WITH PRIVATE KEY
(ENCRYPTION BY PASSWORD = 'ADifferentPassword',
DECRYPTION BY PASSWORD = 'Password1')

我想知道为什么ENCRYPTION BY PASSWORD是用来解密数据的密码而不是DECRYPTION BY PASSWORD?

然后太 ENCRYPT 我真的不需要密码我只需要引用 MyKey 是否正确?

INSERT dbo.BookSellerBankRouting
(BookSellerID, BankRoutingNBR)
VALUES (22,
EncryptByAsymKey(AsymKey_ID('MyKey'),
'1234567'))

我以为您必须指定要加密的加密密码和要解密的解密密码。

但是当我在下面的语句中使用加密密码时,它会解密数据并且解密密码失败

SELECT CAST(DecryptByAsymKey
( AsymKey_ID('MyKey'),
BankRoutingNBR,
N'ADifferentPassword') as varchar(100)) BankRoutingNBR
FROM dbo.BookSellerBankRouting
WHERE BookSellerID = 22

【问题讨论】:

    标签: tsql encryption-asymmetric


    【解决方案1】:

    听起来你把事情复杂化了。 SQL Server 内置了对加密和用户角色的支持。你最好相信那些建造它的专业人士知道他们在做什么,而不是试图实施你自己的计划。在此处开始阅读有关 SQL Server 加密的信息:http://technet.microsoft.com/en-us/library/bb510663.aspx

    【讨论】:

    • 我更新了我的问题给你的评论感谢你把我带到了光明,因为我还在学习这一切,我倾向于过度思考很多事情。您能就更新后的问题提供反馈吗?
    • 抱歉,我不知道您的新问题的答案。也许将它作为一个新的发布,以便获得更多的知名度?
    猜你喜欢
    • 2011-04-05
    • 2019-07-29
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 2017-02-22
    • 2011-03-01
    • 1970-01-01
    • 2013-04-22
    相关资源
    最近更新 更多