MSSQL Encrpt Varbinary

问题描述:

由于我们将来会在数据库中存储一些敏感文件,我们希望对它们进行加密。尽管我们倾向于使用Varbinary,但我们仍然在Filestream和Varbinary之间犹豫不决。我发现这个链接有用:file stream vs local save in sql server?MSSQL Encrpt Varbinary

我可以看到,现在唯一的办法,是将VARBINARY转换为字符串,并用下面的函数对其进行加密,例如:Encrypting & Decrypting a String in C#

有没有更好的机会?

+0

您可以加密'的byte []'在数据库中保存之前。 – GauravKP

+2

不,不存在需要将二进制数据转换为字符串进行加密和解密的情况。任何基于字符串的都将有一个“首先将字符串转换为二进制数据”的步骤 - 只是删除它。 –

+0

加密不是你挥手的魔杖,它使事情变得安全。 *你想保护这些数据的人是谁? –

VARBINARY类型与VARCHAR类型相似,但存储二进制字节字符串而非非二进制字符串。

尝试使用SQL Server证书和非对称密钥,这是使用证书和私钥以及公钥加密数据的最安全方式。 为了进一步澄清,您可以访问以下链接:

https://blog.sqlauthority.com/2009/04/28/sql-server-introduction-to-sql-server-encryption-and-symmetric-key-encryption-tutorial-with-script/

https://docs.microsoft.com/en-us/sql/relational-databases/security/sql-server-certificates-and-asymmetric-keys