ASP.NET Core Data Protection은 비대칭 암호화 기능을 제공할 뿐만 아니라 유연한 키 저장 방법과 일관된 암호화 및 암호 해독 인터페이스(보호 및 보호 해제)도 제공합니다. Session에서도 사용되며, Cookie 검증에서도 사용되며, OpenIdConnect에서도 사용됩니다. . . 물론 애플리케이션 개발에도 사용할 수 있습니다. 예를 들어 이 블로그 게시물에서는 계정 활성화를 위한 확인 토큰을 생성하는 데 사용됩니다.
먼저 Startup.ConfigureServices()에서 DataProtection 서비스를 등록합니다(IDataProtectionProvider 인터페이스 구현 삽입).
public void ConfigureServices(IServiceCollection services) { services.AddDataProtection(); }
그런 다음 DataProtection 클래스의 생성자에 IDataProtectionProvider 인터페이스를 추가하고 이 인터페이스를 사용하여 DataProtector를 만든 다음 이를 사용하여 SecureDataFormat을 만듭니다. 마지막으로 SecureDataFormat.Protect() 메서드를 사용하여 계정을 활성화하는 토큰을 생성합니다. SecureDataFormat.Uprotect()를 사용하여 토큰을 해독합니다. 다음과 같이 샘플 코드를 완성합니다.
public class HomeController : Controller { private readonly ISecureDataFormat<string> _dataFormat; public HomeController(IDataProtectionProvider _dataProtectionProvider) { var dataProtector = _dataProtectionProvider.CreateProtector(typeof(HomeController).FullName); _dataFormat = new SecureDataFormat<string>(new StringSerializer(), dataProtector); } public string GenerateToken() { return _dataFormat.Protect(Guid.NewGuid().ToString() + ";" + DateTime.Now.AddHours(10)); } public string DecryptToken(string token) { return _dataFormat.Unprotect(token); } private class StringSerializer : IDataSerializer<string> { public string Deserialize(byte[] data) { return Encoding.UTF8.GetString(data); } public byte[] Serialize(string model) { return Encoding.UTF8.GetBytes(model); } } }
위 내용이 이 글의 전체 내용이기를 바랍니다. 모두의 학습에 도움이 될 것이며, 모두가 PHP 중국어 웹사이트를 지지해주기를 바랍니다.
ASP.NET Core 데이터 보호 및 확인 토큰 생성과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!