Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Security / CookieProtection.cs / 1305376 / CookieProtection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Security { using System.Security.Cryptography; using System.Web.Configuration; using System.Web.Management; public enum CookieProtection { None, Validation, Encryption, All } internal class CookieProtectionHelper { internal static string Encode (CookieProtection cookieProtection, byte [] buf, int count) { if (cookieProtection == CookieProtection.All || cookieProtection == CookieProtection.Validation) { byte[] bMac = MachineKeySection.HashData (buf, null, 0, count); if (bMac == null) return null; if (buf.Length >= count + bMac.Length) { Buffer.BlockCopy (bMac, 0, buf, count, bMac.Length); } else { byte[] bTemp = buf; buf = new byte[count + bMac.Length]; Buffer.BlockCopy (bTemp, 0, buf, 0, count); Buffer.BlockCopy (bMac, 0, buf, count, bMac.Length); } count += bMac.Length; } if (cookieProtection == CookieProtection.All || cookieProtection == CookieProtection.Encryption) { buf = MachineKeySection.EncryptOrDecryptData (true, buf, null, 0, count); count = buf.Length; } if (count < buf.Length) { byte[] bTemp = buf; buf = new byte[count]; Buffer.BlockCopy (bTemp, 0, buf, 0, count); } return HttpServerUtility.UrlTokenEncode(buf); } internal static byte[] Decode (CookieProtection cookieProtection, string data) { byte [] buf = HttpServerUtility.UrlTokenDecode(data); if (buf == null || cookieProtection == CookieProtection.None) return buf; if (cookieProtection == CookieProtection.All || cookieProtection == CookieProtection.Encryption) { buf = MachineKeySection.EncryptOrDecryptData (false, buf, null, 0, buf.Length); if (buf == null) return null; } if (cookieProtection == CookieProtection.All || cookieProtection == CookieProtection.Validation) return MachineKeySection.GetUnHashedData(buf); return buf; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BitmapMetadata.cs
- HtmlForm.cs
- TextEncodedRawTextWriter.cs
- Interlocked.cs
- OLEDB_Enum.cs
- AffineTransform3D.cs
- FixedTextBuilder.cs
- StorageRoot.cs
- Journaling.cs
- LowerCaseStringConverter.cs
- GlyphRunDrawing.cs
- ApplicationBuildProvider.cs
- Pkcs9Attribute.cs
- ReadOnlyNameValueCollection.cs
- TagPrefixInfo.cs
- TextDecorationCollection.cs
- ConfigurationSectionGroup.cs
- Matrix.cs
- IOThreadTimer.cs
- StyleConverter.cs
- XmlnsDefinitionAttribute.cs
- EmptyControlCollection.cs
- RuleRefElement.cs
- ContainerAction.cs
- Debug.cs
- ContravarianceAdapter.cs
- TriState.cs
- MSHTMLHost.cs
- DbConnectionPool.cs
- WebRequestModuleElementCollection.cs
- PropertyChangeTracker.cs
- ResourceDefaultValueAttribute.cs
- ResetableIterator.cs
- _CacheStreams.cs
- MarkedHighlightComponent.cs
- SynchronizationContext.cs
- PackUriHelper.cs
- Button.cs
- StringArrayConverter.cs
- StreamInfo.cs
- XsltSettings.cs
- PropertyCollection.cs
- _emptywebproxy.cs
- Columns.cs
- PropertySourceInfo.cs
- DbConnectionPoolOptions.cs
- ExpandCollapsePattern.cs
- RepeatButton.cs
- DataGridDetailsPresenterAutomationPeer.cs
- DiagnosticSection.cs
- ReferencedAssembly.cs
- PageHandlerFactory.cs
- XPathMessageFilterElementCollection.cs
- AvTraceFormat.cs
- ContentFileHelper.cs
- MsmqIntegrationChannelListener.cs
- SymbolMethod.cs
- SponsorHelper.cs
- DashStyle.cs
- EnumerationRangeValidationUtil.cs
- BreakSafeBase.cs
- DBSchemaRow.cs
- CollectionType.cs
- CodeTypeOfExpression.cs
- DateTimeConstantAttribute.cs
- SimpleWebHandlerParser.cs
- DockAndAnchorLayout.cs
- CookielessData.cs
- SizeChangedEventArgs.cs
- While.cs
- DiagnosticSection.cs
- VSDExceptions.cs
- OdbcRowUpdatingEvent.cs
- ProcessRequestArgs.cs
- DataGridViewButtonCell.cs
- ManagementQuery.cs
- TranslateTransform.cs
- SharedPersonalizationStateInfo.cs
- ColorAnimationBase.cs
- DocumentEventArgs.cs
- ScriptingWebServicesSectionGroup.cs
- SymLanguageType.cs
- HttpException.cs
- ACE.cs
- ConfigXmlComment.cs
- TargetInvocationException.cs
- TransactionManager.cs
- ProgressBarAutomationPeer.cs
- SiteMapSection.cs
- TypeSystemProvider.cs
- OpenTypeLayoutCache.cs
- GridViewCancelEditEventArgs.cs
- TemplatePagerField.cs
- _BufferOffsetSize.cs
- ChannelManager.cs
- SettingsPropertyCollection.cs
- TypeDescriptionProvider.cs
- TimelineGroup.cs
- ObjectConverter.cs
- GroupBox.cs