Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用ASP.NET在Azure SQL中进行应用程序级数据加密?_C#_Asp.net_Azure_Encryption_Azure Sql Database - Fatal编程技术网

C# 如何使用ASP.NET在Azure SQL中进行应用程序级数据加密?

C# 如何使用ASP.NET在Azure SQL中进行应用程序级数据加密?,c#,asp.net,azure,encryption,azure-sql-database,C#,Asp.net,Azure,Encryption,Azure Sql Database,另外两个答案(例如:)告诉我们,Azure SQL不支持SQL Server的常规数据加密机制(透明数据加密、非对称密钥、对称密钥等),因此必须使用应用程序级方法 我们唯一的要求是,一些数据不应该以纯文本形式存储,而应该在数据库中加密(当然,攻击者应该很难解密)。最好的方法是什么?应该使用哪种加密方案?我在谷歌上搜索了很多,但找不到确切的答案 应该使用对称还是非对称加密方法?我们应该如何存储加密和解密数据所需的密钥?好的-因此,虽然这个答案中的某些元素可以解释为意见-但肯定有一些特定的因素可以对

另外两个答案(例如:)告诉我们,Azure SQL不支持SQL Server的常规数据加密机制(透明数据加密、非对称密钥、对称密钥等),因此必须使用应用程序级方法

我们唯一的要求是,一些数据不应该以纯文本形式存储,而应该在数据库中加密(当然,攻击者应该很难解密)。最好的方法是什么?应该使用哪种加密方案?我在谷歌上搜索了很多,但找不到确切的答案


应该使用对称还是非对称加密方法?我们应该如何存储加密和解密数据所需的密钥?

好的-因此,虽然这个答案中的某些元素可以解释为意见-但肯定有一些特定的因素可以对此做出贡献

[FWIW:我们目前正在经历这个过程——所以我走了这条路的一部分]

对于您的两个问题,我建议您阅读。此外,这些数据通常是指示性的(是的,我来自英国)

因此,您需要确保应用程序级别的加密机制(即证书)不与数据或应用程序内的加密机制(即嵌入式资源)一起保存。将钥匙与数据一起存储(即使是在Azure BlobStorage中)与将钥匙贴到实际的门上类似。您可以使用其他云服务文件存储或使用现成的解决方案,如(免责声明:我不为他们工作,还有其他)。真正的目标是,如果您的数据被组成,您将控制解密机制,从而控制数据


选择对称或非对称加密是一种选择,但证书过期的能力是一个主要优势,这是我的眼睛…

虽然这是一个值得注意的好问题,但它主要是基于观点的,因此不适合StackOverflow。@MarkVincze你最终选择了什么路线?@karol我们只需要对少数列进行加密,所以我们最终使用对称加密算法用C#代码手动加密。在数据类上,我们创建了一些属性,这些属性在它们的getter和setter中进行加密/解密。(在DB表中,我们使用varbinary作为这些列的数据类型。)感谢您提供的信息!你能准确地说出你最终使用了哪种加密方法吗?