Как сгенерировать тот же результат для того же ввода при использовании IDataProtectionProvider - PullRequest
0 голосов
/ 12 июля 2020

Я собираюсь использовать IDataProtectionProvider в приложении asp .netcore. Я выполнил всю соответствующую настройку в Startup.cs, как показано ниже:

        services.AddDataProtection()
                .SetApplicationName("my-app")
                .PersistKeysToFileSystem(new DirectoryInfo(@"\keys"))
                .UseCryptographicAlgorithms(
                    new AuthenticatedEncryptorConfiguration()
                    {
                        EncryptionAlgorithm = EncryptionAlgorithm.AES_256_CBC,
                        ValidationAlgorithm = ValidationAlgorithm.HMACSHA256
                    });

, и я использую это так:

    public WeatherForecastController(IDataProtectionProvider dataProtectionProvider)
    {
        this.dataProtectionProvider = dataProtectionProvider;
    }

    [HttpGet]
    public IEnumerable<WeatherForecast> Get()
    {
        var protector = dataProtectionProvider.CreateProtector("weather");
        var firstEncrypted = protector.Protect("hello");
        var secondEncrypted = protector.Protect("hello");
        ...
    }

, но firstEncrypted и secondEncrypted не равны. Я буду искать зашифрованные значения, и мне нужно получить тот же результат для фиксированного ввода.

Я не знаю, что мне делать, заранее спасибо.

...