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
- Panel.cs
- Variant.cs
- CounterSet.cs
- CatalogPartChrome.cs
- SafeFileMapViewHandle.cs
- OTFRasterizer.cs
- InvokeProviderWrapper.cs
- ProfileInfo.cs
- EditingScope.cs
- PiiTraceSource.cs
- ConfigurationPermission.cs
- MasterPageCodeDomTreeGenerator.cs
- TemplateBindingExpression.cs
- CodeAttributeDeclaration.cs
- XNodeSchemaApplier.cs
- OdbcFactory.cs
- CqlParser.cs
- QueryContext.cs
- DataKey.cs
- TextBoxLine.cs
- WpfPayload.cs
- CommandSet.cs
- DoubleMinMaxAggregationOperator.cs
- DBPropSet.cs
- HealthMonitoringSectionHelper.cs
- ViewValidator.cs
- TextViewSelectionProcessor.cs
- UIElementHelper.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- DataServiceSaveChangesEventArgs.cs
- HttpCacheParams.cs
- AuthenticationServiceManager.cs
- TypeResolvingOptions.cs
- RepeatButton.cs
- DelegateArgument.cs
- WorkItem.cs
- DataTableReaderListener.cs
- SequenceQuery.cs
- _FtpDataStream.cs
- ApplicationProxyInternal.cs
- ETagAttribute.cs
- UIntPtr.cs
- Scene3D.cs
- SwitchAttribute.cs
- StylusDevice.cs
- DbCommandTree.cs
- ValidationResult.cs
- TargetConverter.cs
- KeyValuePairs.cs
- ConfigurationSectionGroup.cs
- QilTypeChecker.cs
- CriticalExceptions.cs
- ZipIOLocalFileHeader.cs
- CodeTypeMemberCollection.cs
- DebugViewWriter.cs
- RequestNavigateEventArgs.cs
- GeneralTransform2DTo3DTo2D.cs
- DataGridParentRows.cs
- UpdateRecord.cs
- ContactManager.cs
- WebConvert.cs
- SQLSingleStorage.cs
- VariantWrapper.cs
- HttpGetProtocolImporter.cs
- DesignerActionHeaderItem.cs
- PageSetupDialog.cs
- SqlColumnizer.cs
- xmlNames.cs
- TextTreeDeleteContentUndoUnit.cs
- PointKeyFrameCollection.cs
- SecurityResources.cs
- IDispatchConstantAttribute.cs
- ServiceHostingEnvironment.cs
- ObjectListComponentEditor.cs
- RoleService.cs
- WebPartAddingEventArgs.cs
- ObjectTypeMapping.cs
- RtfToXamlLexer.cs
- DivideByZeroException.cs
- AssemblyAttributes.cs
- ActivityWithResult.cs
- XPathMessageContext.cs
- UnmanagedMemoryStreamWrapper.cs
- HtmlControlPersistable.cs
- TextServicesPropertyRanges.cs
- RequestBringIntoViewEventArgs.cs
- WebPartZoneBase.cs
- EnumerableValidator.cs
- smtppermission.cs
- Positioning.cs
- TogglePatternIdentifiers.cs
- TdsParserSessionPool.cs
- SettingsProperty.cs
- XmlSerializableServices.cs
- WindowsHyperlink.cs
- CertificateReferenceElement.cs
- CapabilitiesAssignment.cs
- RegexNode.cs
- EmptyCollection.cs
- DocumentPage.cs