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
Asp.net core 是否可以在.NET核心数据保护中设置密钥?_Asp.net Core_.net Core_Asp.net Membership_Membership Provider - Fatal编程技术网

Asp.net core 是否可以在.NET核心数据保护中设置密钥?

Asp.net core 是否可以在.NET核心数据保护中设置密钥?,asp.net-core,.net-core,asp.net-membership,membership-provider,Asp.net Core,.net Core,Asp.net Membership,Membership Provider,或者编辑存储以引入特定密钥 我的目标是从使用成员资格提供程序的旧ASP.NET Webforms站点设置密钥。因此,它在web.config中有一个MachineKey元素,其中指定了ValidationKey 如果我可以在.NET Core Data Protection中设置此密钥,我相信我可以使用类似以下示例的代码实现密码哈希:。有了正确的密钥集,我应该能够生成与遗留站点的哈希匹配的哈希 但似乎数据保护的整个理念是,它自动为您设置密钥,您不应该与它们有任何关系。有办法解决这个问题吗 编辑:

或者编辑存储以引入特定密钥

我的目标是从使用成员资格提供程序的旧ASP.NET Webforms站点设置密钥。因此,它在web.config中有一个MachineKey元素,其中指定了ValidationKey

如果我可以在.NET Core Data Protection中设置此密钥,我相信我可以使用类似以下示例的代码实现密码哈希:。有了正确的密钥集,我应该能够生成与遗留站点的哈希匹配的哈希

但似乎数据保护的整个理念是,它自动为您设置密钥,您不应该与它们有任何关系。有办法解决这个问题吗

编辑:

在ASP.NET WebForms中,使用成员资格提供程序散列用户密码,我的web.config中有以下条目:

<system.web>
    <machineKey validationKey="*********" 
          decryptionKey="*********" 
          validation="HMACSHA256" 
          decryption="AES" />
</system.web>

当对密码进行哈希运算时,“validationKey”属性中的值会参与哈希运算,不是吗?如果validationKey不同,那么给定相同的密码/salt组合,生成的哈希值会不同吗?还是这就是我的错


如果以上所述是正确的,那么我的问题是,如何在ASP.NET Core中使用相同的键值,以便在使用相同的密码/salt组合进行哈希时,生成与旧数据库中相同的哈希?如何为.NET Core提供validationKey值以进行散列?或者根本不涉及?

数据保护是关于加密的。问题是关于散列。您希望实现什么样的哈希或加密?你能详细说明一下吗?我想生成HMAC256哈希。HMAC使用一个秘密密钥。在ASP.NET webforms中,此键是在web.config的MachineKey部分中指定的。该链接的哈希代码中指定的密钥在哪里?秘密钥匙从哪里来?我的理解是它是在数据保护中设置的,我想知道如何设置特定的键值。或者我遗漏了什么(通常是这样!)。嗨@BinarySolo,你找到过这个问题的答案吗?对不起,没有。这是很少有坚持不起作用的时候。我放弃了,当我转换我的用户时,我重置了他们的所有安全性。