sql-server - 无法插入加密数据?
问题描述
我正在尝试将加密数据插入到我的 SQL Server 表中。第一步,我创建了一个主密钥、一个证书和一个私钥:
CREATE MASTER KEY
ENCRYPTION BY PASSWORD = 'PASSWORD@123'
GO
CREATE CERTIFICATE ElipseCert
ENCRYPTION BY PASSWORD = 'SENHA@123'
WITH SUBJECT = 'Certificado Senha Usuario'
GO
CREATE SYMMETRIC KEY KeyElipse
WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE ElipseCert
GO
在我尝试插入数据后:
OPEN SYMMETRIC KEY KeyElipse
DECRYPTION BY CERTIFICATE ElipseCert
DECLARE @GUID UNIQUEIDENTIFIER = (SELECT KEY_GUID('KeyElipse'))
INSERT INTO Usuario VALUES ('FONSECA', ENCRYPTBYKEY(@GUID, 'Abcd1234'))
GO
SELECT * FROM Usuario
CLOSE SYMMETRIC KEY KeyElipse
但是当我执行代码时返回我:
证书有一个受用户定义密码保护的私钥。需要提供该密码才能使用私钥。
怎么了?
非常感谢!
解决方案
证书有一个受用户定义密码保护的私钥。需要提供该密码才能使用私钥
所以提供密码,替换此代码
OPEN SYMMETRIC KEY KeyElipse
DECRYPTION BY CERTIFICATE ElipseCert
有了这个
OPEN SYMMETRIC KEY KeyElipse
DECRYPTION BY CERTIFICATE ElipseCert WITH PASSWORD = 'SENHA@123';
推荐阅读
- flutter - 如何在 Flutter 应用程序中使用 Cloudflare 存储和使用来自 BackBlaze B2 的数据,其中用户数据已经在云 Firestore 中进行管理?
- javascript - [开玩笑]:TypeError:对象原型可能只是一个对象或空:未定义
- rest - Microsoft Graph API - 从“公共文件夹”获取联系人/文件夹
- selenium - 保持浏览器在服务器/云上运行以跟踪实时数据的注意事项
- python - 解码和重新编码 TFRecord
- python - 对于目标总和问题,递归无法按预期工作
- c# - C#使用方法输出字符串列表
- ios - image_picker 颤动视频选择限制为 120 秒如何修复 IOS
- yaml - 公制路径不允许像 /? 输出=文本(普罗米修斯)
- networking - 为什么我们在 paramiko 中为 exec_command() 内置了重试?