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
- SerializableAttribute.cs
- MSAANativeProvider.cs
- GetCryptoTransformRequest.cs
- RuleRefElement.cs
- JournalNavigationScope.cs
- ConfigXmlComment.cs
- MethodImplAttribute.cs
- BlockExpression.cs
- TaiwanCalendar.cs
- AdPostCacheSubstitution.cs
- XmlNotation.cs
- TransportContext.cs
- ConfigXmlCDataSection.cs
- EntityDataSourceContainerNameItem.cs
- DataGridLinkButton.cs
- ToolStripComboBox.cs
- WmlLinkAdapter.cs
- TextFormatterImp.cs
- Optimizer.cs
- InkCollectionBehavior.cs
- PageCopyCount.cs
- RootProfilePropertySettingsCollection.cs
- storepermissionattribute.cs
- UIElementParagraph.cs
- GetPolicyDetailsRequest.cs
- PackWebRequest.cs
- EndpointNameMessageFilter.cs
- SymbolPair.cs
- MailMessageEventArgs.cs
- ValueQuery.cs
- XdrBuilder.cs
- SqlCommandBuilder.cs
- HitTestResult.cs
- DataGridViewCellPaintingEventArgs.cs
- ElementProxy.cs
- NTAccount.cs
- BitmapEffectDrawingContextState.cs
- DataSvcMapFileSerializer.cs
- BitStack.cs
- SoapInteropTypes.cs
- ReferencedAssembly.cs
- DbParameterCollection.cs
- EditingMode.cs
- OdbcConnectionString.cs
- XmlNamespaceDeclarationsAttribute.cs
- ReflectionPermission.cs
- WsatEtwTraceListener.cs
- COM2TypeInfoProcessor.cs
- FacetDescription.cs
- TokenBasedSet.cs
- DataRow.cs
- HtmlHistory.cs
- Substitution.cs
- CellParagraph.cs
- VSDExceptions.cs
- ListViewSortEventArgs.cs
- storepermissionattribute.cs
- XmlSignatureManifest.cs
- TreeBuilderBamlTranslator.cs
- DetailsViewDeleteEventArgs.cs
- StartUpEventArgs.cs
- PrimitiveSchema.cs
- OrderByBuilder.cs
- TextWriterTraceListener.cs
- DispatcherExceptionFilterEventArgs.cs
- GridViewColumnHeader.cs
- Win32SafeHandles.cs
- PersonalizationStateInfo.cs
- SaveFileDialog.cs
- SplineKeyFrames.cs
- TemplateControlCodeDomTreeGenerator.cs
- CollectionChangeEventArgs.cs
- WFItemsToSpacerVisibility.cs
- TreeNodeConverter.cs
- XmlObjectSerializerReadContextComplexJson.cs
- NameHandler.cs
- ICspAsymmetricAlgorithm.cs
- MetadataItem.cs
- SapiRecognizer.cs
- StringBuilder.cs
- LogicalTreeHelper.cs
- PanelContainerDesigner.cs
- TextEditorParagraphs.cs
- DataGridColumnCollection.cs
- EntityTransaction.cs
- FacetChecker.cs
- DetailsViewUpdateEventArgs.cs
- ScrollData.cs
- Canvas.cs
- BulletChrome.cs
- LogWriteRestartAreaState.cs
- CopyAttributesAction.cs
- PeerValidationBehavior.cs
- ToolStripHighContrastRenderer.cs
- XmlProcessingInstruction.cs
- ProcessModelSection.cs
- DescendantQuery.cs
- WindowsGraphicsCacheManager.cs
- DataGridDetailsPresenter.cs
- TypographyProperties.cs