Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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
Encryption 将使用数据保护API加密的敏感数据存储在PersistKeyStore文件系统中_Encryption_Asp.net Core_Dpapi - Fatal编程技术网

Encryption 将使用数据保护API加密的敏感数据存储在PersistKeyStore文件系统中

Encryption 将使用数据保护API加密的敏感数据存储在PersistKeyStore文件系统中,encryption,asp.net-core,dpapi,Encryption,Asp.net Core,Dpapi,各位, 我需要将一些字符串数据从和MVC Core 2.0应用程序加密到SQL数据库中。 我正在考虑将数据保护API与PersistKeySystem一起使用,以便将数据恢复到另一台服务器,并使用相同的密钥文件对数据进行解密。 我对NetCore中DPAPI的性能印象深刻,我不想为任何自定义加密解决方案添加fo,因为其风险太大。我将存储大量上传到SQL的数据。加密前的字符串应为200个字符或更少 我认为DPAPI被认为更适合加密小块数据,例如密码,而不是sql批量操作。人们是否考虑使用DPAPI

各位, 我需要将一些字符串数据从和MVC Core 2.0应用程序加密到SQL数据库中。 我正在考虑将数据保护API与PersistKeySystem一起使用,以便将数据恢复到另一台服务器,并使用相同的密钥文件对数据进行解密。 我对NetCore中DPAPI的性能印象深刻,我不想为任何自定义加密解决方案添加fo,因为其风险太大。我将存储大量上传到SQL的数据。加密前的字符串应为200个字符或更少


我认为DPAPI被认为更适合加密小块数据,例如密码,而不是sql批量操作。人们是否考虑使用DPAPI加密数据到一个数据库?一个很好的用例?

< P>数据保护API不一定只针对小块数据,而是用于相对短暂的数据。换句话说,它实际上并不打算长期用于加密/解密。关键点将在某个点循环,而旧关键点保留在周围以允许过渡到新关键点,您不应该真正依赖于此

根据报告:

ASP.NET核心数据保护API主要不是用于机密有效负载的无限持久性。其他技术,如Windows CNG DPAPI和Azure Rights Management,更适合无限存储的场景,它们具有相应的强大密钥管理功能


它确实继续说,如果你愿意,你可以这样做。但是,如果您可能正在使用被撤销的密钥,则必须以不同的方式处理问题。上面的文档链接详细介绍了这一点。但是,请记住,您本质上是以一种不太安全的方式对数据进行操作,因为您明确允许使用已撤销的密钥解密数据。

密钥可以以什么方式被撤销?默认情况下,每90天一次。哦,对了。我认为它们在默认的90天后“过期”(而不是“撤销”),但“过期”密钥仍然可以用于取消保护。将SetDefaultKeyLifeTime设置为更大的值怎么样?您可以这样做,但同样,您会使事情变得更不安全。钥匙可能会泄露。你留得越久,他们暴露的机会就越大。是的,我明白了。我仍然不确定“撤销”和“过期”的区别,这让我很担心。哪些操作导致密钥被“撤销”?