public FormsAuthenticationCookie Unprotect(string protectedText) { if (protectedText == null) { throw new ArgumentNullException(nameof(protectedText)); } FormsAuthenticationCookie _unprotect() { var bBlob = CryptoUtil.HexToBinary(protectedText); var cryptoProvider = AspNetCryptoServiceProvider.GetCryptoServiceProvider(_options); var cryptoService = cryptoProvider.GetCryptoService(); byte[] unprotectedData = cryptoService.Unprotect(bBlob); return(ConvertToAuthenticationTicket(unprotectedData)); } if (_options.CacheTimeout != null) { return(_options.Cache.GetOrCreate($"Auth-Cookie-{protectedText}", ct => { ct.SlidingExpiration = _options.CacheTimeout; return _unprotect(); })); } return(_unprotect()); }
public FormsAuthenticationCookie Unprotect(string protectedText) { if (protectedText == null) { throw new ArgumentNullException(nameof(protectedText)); } var bBlob = CryptoUtil.HexToBinary(protectedText); var cryptoProvider = AspNetCryptoServiceProvider.GetCryptoServiceProvider(_options); var cryptoService = cryptoProvider.GetCryptoService(); byte[] unprotectedData = cryptoService.Unprotect(bBlob); return(ConvertToAuthenticationTicket(unprotectedData)); }
public string Protect(FormsAuthenticationCookie cookie) { if (cookie == null) { throw new ArgumentNullException(nameof(cookie)); } var unprotectedData = ConvertToBytes(cookie); var cryptoProvider = AspNetCryptoServiceProvider.GetCryptoServiceProvider(_options); var cryptoService = cryptoProvider.GetCryptoService(); byte[] protectedData = cryptoService.Protect(unprotectedData); return(CryptoUtil.BinaryToHex(protectedData)); }