asp.netではなくSQL暗号化を反映するように質問を更新しました。
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