// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespace Microsoft.AspNetCore.DataProtection
{
///
/// An interface that can be used to create instances.
///
public interface IDataProtectionProvider
{
///
/// Creates an given a purpose.
///
///
/// The purpose to be assigned to the newly-created .
///
/// An IDataProtector tied to the provided purpose.
///
/// The parameter must be unique for the intended use case; two
/// different instances created with two different
/// values will not be able to decipher each other's payloads. The parameter
/// value is not intended to be kept secret.
///
IDataProtector CreateProtector(string purpose);
}
}