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
- _ScatterGatherBuffers.cs
- ConnectionStringsSection.cs
- GridLength.cs
- SiteMap.cs
- MethodExecutor.cs
- SafeEventLogReadHandle.cs
- WebConvert.cs
- LayoutUtils.cs
- Panel.cs
- HitTestDrawingContextWalker.cs
- DropTarget.cs
- GlobalProxySelection.cs
- ErrorFormatter.cs
- ObjectStorage.cs
- Separator.cs
- DataContractSerializerSection.cs
- PolyBezierSegment.cs
- Point3DCollectionConverter.cs
- ServiceParser.cs
- SamlAuthenticationClaimResource.cs
- ApplicationContext.cs
- BrowserDefinition.cs
- RuntimeHandles.cs
- NavigationWindowAutomationPeer.cs
- SecurityKeyUsage.cs
- DbgUtil.cs
- AnonymousIdentificationModule.cs
- WpfKnownTypeInvoker.cs
- Regex.cs
- RequestCacheEntry.cs
- ValuePattern.cs
- SafeFileHandle.cs
- CodeFieldReferenceExpression.cs
- StreamGeometry.cs
- FontUnit.cs
- SettingsProperty.cs
- StylusTouchDevice.cs
- MediaContext.cs
- SessionSwitchEventArgs.cs
- OleDbReferenceCollection.cs
- WebFormsRootDesigner.cs
- OnOperation.cs
- NavigationPropertyEmitter.cs
- DataGridHeaderBorder.cs
- DesignerAttribute.cs
- ItemCollectionEditor.cs
- PickBranchDesigner.xaml.cs
- DelegatingConfigHost.cs
- Quaternion.cs
- TemplatedMailWebEventProvider.cs
- UnmanagedMarshal.cs
- BrowserCapabilitiesFactory.cs
- XmlAttributes.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- QuerySettings.cs
- SchemaObjectWriter.cs
- HtmlTableRow.cs
- RemoteCryptoRsaServiceProvider.cs
- TextOutput.cs
- DataGridAutoFormatDialog.cs
- ConfigurationValue.cs
- ImageBrush.cs
- PointCollection.cs
- TranslateTransform3D.cs
- SystemIPInterfaceProperties.cs
- RuntimeIdentifierPropertyAttribute.cs
- PolyQuadraticBezierSegment.cs
- SevenBitStream.cs
- ImpersonateTokenRef.cs
- StreamingContext.cs
- PersonalizationAdministration.cs
- SrgsNameValueTag.cs
- _ScatterGatherBuffers.cs
- SqlTriggerAttribute.cs
- ToolStripSettings.cs
- ComboBoxRenderer.cs
- ToolStripPanelRenderEventArgs.cs
- DeclaredTypeElement.cs
- DurationConverter.cs
- _SSPIWrapper.cs
- XamlDebuggerXmlReader.cs
- ProxyElement.cs
- SecurityChannelFaultConverter.cs
- TrackPoint.cs
- ParserStreamGeometryContext.cs
- CatalogPartCollection.cs
- CodeGroup.cs
- xsdvalidator.cs
- PersonalizationStateInfo.cs
- ColorDialog.cs
- SevenBitStream.cs
- SizeConverter.cs
- WebReferenceOptions.cs
- Visual3D.cs
- WebPartCloseVerb.cs
- ViewKeyConstraint.cs
- HandlerMappingMemo.cs
- MultipleViewProviderWrapper.cs
- OdbcCommandBuilder.cs
- TailCallAnalyzer.cs