301不同类型网站,注册完域名怎么做网站,数据库服务器,网站建设高等教育出版社在.NetCore中默认使用DataProtection来保护数据#xff0c;例如Cooike等。一般情况下DataProtection生成的密钥会被加密后存储#xff0c;例如默认的文件存储可以看到使用了Windows DPAPI加密。但是如果更改默认设置例如使用的外部存储如redis则此时密钥默认是不加密的微软说… 在.NetCore中默认使用DataProtection来保护数据例如Cooike等。一般情况下DataProtection生成的密钥会被加密后存储例如默认的文件存储可以看到使用了Windows DPAPI加密。但是如果更改默认设置例如使用的外部存储如redis则此时密钥默认是不加密的微软说明如下警告密钥未加密这个时候如果redis被破解系统的密钥也就泄漏了。微软提供了2个接口IXmlEncryptorIXmlDecryptor来实现密钥的加密解密下面使用AES来简单现实也可以替换为任何加密方式调用也很简单.ProtectKeysWithAES()即可 services.AddDataProtection().SetApplicationName(DataProtection).PersistKeysToStackExchangeRedis(ConnectionMultiplexer.Connect(RedisConnection), DataProtection-Keys).ProtectKeysWithAES();加密后的密钥如下注在生成密钥之前要删除之前的密钥不然会使用旧密钥而不生成新的密钥直到密钥过期。 对于AES所使用密钥也要进行保护可以使用第三方密钥存储库如Azure 密钥保管库或者也可以使用X509证书来来加密。 github https://github.com/saber-wang/DataProtection原文地址:https://www.cnblogs.com/nasha/p/10260158.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com