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
- RemoteWebConfigurationHost.cs
- BuildManagerHost.cs
- SubstitutionList.cs
- HtmlHead.cs
- SortedList.cs
- SQLBytesStorage.cs
- SystemResourceKey.cs
- FlowDocumentPageViewerAutomationPeer.cs
- InvalidOleVariantTypeException.cs
- DataFieldCollectionEditor.cs
- SqlWebEventProvider.cs
- ValidatingPropertiesEventArgs.cs
- TCPClient.cs
- ProcessRequestArgs.cs
- CodeNamespaceCollection.cs
- DateTimeValueSerializerContext.cs
- RectAnimation.cs
- UnitControl.cs
- BindingNavigatorDesigner.cs
- LayoutManager.cs
- ServerValidateEventArgs.cs
- ProfessionalColorTable.cs
- BindingListCollectionView.cs
- SecurityCredentialsManager.cs
- DataControlField.cs
- OdbcConnectionFactory.cs
- XamlTreeBuilder.cs
- MaskedTextBox.cs
- ZipArchive.cs
- OdbcError.cs
- DbReferenceCollection.cs
- httpapplicationstate.cs
- ProviderUtil.cs
- RegistrySecurity.cs
- PocoEntityKeyStrategy.cs
- XmlStreamNodeWriter.cs
- DataSourceIDConverter.cs
- UnsettableComboBox.cs
- InplaceBitmapMetadataWriter.cs
- SQLBinary.cs
- MethodExpr.cs
- _SslState.cs
- sitestring.cs
- DeferredSelectedIndexReference.cs
- UpdateCompiler.cs
- nulltextcontainer.cs
- SqlConnectionPoolGroupProviderInfo.cs
- SamlAction.cs
- SystemSounds.cs
- unitconverter.cs
- BrowserCapabilitiesFactory.cs
- ReaderWriterLockWrapper.cs
- SoapAttributes.cs
- SimpleApplicationHost.cs
- Paragraph.cs
- QuaternionAnimationUsingKeyFrames.cs
- PenContexts.cs
- WhiteSpaceTrimStringConverter.cs
- ImportCatalogPart.cs
- ReflectionHelper.cs
- SqlXml.cs
- BaseCollection.cs
- KeyedByTypeCollection.cs
- GroupBoxRenderer.cs
- TextParentUndoUnit.cs
- ServiceDescriptionSerializer.cs
- PolyBezierSegmentFigureLogic.cs
- ArcSegment.cs
- InkCollectionBehavior.cs
- XamlSerializerUtil.cs
- HttpModuleActionCollection.cs
- StickyNoteAnnotations.cs
- OperatorExpressions.cs
- ScriptingWebServicesSectionGroup.cs
- ConstantExpression.cs
- ApplicationInfo.cs
- PointHitTestResult.cs
- ComboBoxAutomationPeer.cs
- DependencyPropertyDescriptor.cs
- TextLineBreak.cs
- WindowsEditBoxRange.cs
- DataServiceHostFactory.cs
- OracleEncoding.cs
- WebResourceUtil.cs
- DataTableNewRowEvent.cs
- TextRunProperties.cs
- CombinedGeometry.cs
- nulltextcontainer.cs
- CmsUtils.cs
- WebPartRestoreVerb.cs
- CodeMemberEvent.cs
- WebHttpSecurity.cs
- Internal.cs
- CustomAttributeBuilder.cs
- InvokePattern.cs
- HttpProfileGroupBase.cs
- SqlStatistics.cs
- Message.cs
- RuleSettings.cs
- EastAsianLunisolarCalendar.cs