Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Security / DataProtectionSecurityStateEncoder.cs / 1 / DataProtectionSecurityStateEncoder.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Security { using System.Text; using System.Security.Cryptography; public class DataProtectionSecurityStateEncoder : SecurityStateEncoder { byte[] entropy; bool useCurrentUserProtectionScope; public DataProtectionSecurityStateEncoder() : this(true) { // empty } public DataProtectionSecurityStateEncoder(bool useCurrentUserProtectionScope) : this(useCurrentUserProtectionScope, null) { } public DataProtectionSecurityStateEncoder(bool useCurrentUserProtectionScope, byte[] entropy) { this.useCurrentUserProtectionScope = useCurrentUserProtectionScope; if (entropy == null) { this.entropy = null; } else { this.entropy = DiagnosticUtility.Utility.AllocateByteArray(entropy.Length); Buffer.BlockCopy(entropy, 0, this.entropy, 0, entropy.Length); } } public bool UseCurrentUserProtectionScope { get { return this.useCurrentUserProtectionScope; } } public byte[] GetEntropy() { byte[] result = null; if (this.entropy != null) { result = DiagnosticUtility.Utility.AllocateByteArray(this.entropy.Length); Buffer.BlockCopy(this.entropy, 0, result, 0, this.entropy.Length); } return result; } public override string ToString() { StringBuilder result = new StringBuilder(); result.Append(this.GetType().ToString()); result.AppendFormat("{0} UseCurrentUserProtectionScope={1}", Environment.NewLine, this.useCurrentUserProtectionScope); result.AppendFormat("{0} Entropy Length={1}", Environment.NewLine, (this.entropy == null) ? 0 : this.entropy.Length); return result.ToString(); } protected internal override byte[] DecodeSecurityState(byte[] data) { return ProtectedData.Unprotect(data, this.entropy, (this.useCurrentUserProtectionScope) ? DataProtectionScope.CurrentUser : DataProtectionScope.LocalMachine); } protected internal override byte[] EncodeSecurityState(byte[] data) { return ProtectedData.Protect(data, this.entropy, (this.useCurrentUserProtectionScope) ? DataProtectionScope.CurrentUser : DataProtectionScope.LocalMachine); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UnsafeNativeMethods.cs
- UntypedNullExpression.cs
- DataFieldCollectionEditor.cs
- UnmanagedHandle.cs
- BorderSidesEditor.cs
- ProfilePropertySettings.cs
- oledbconnectionstring.cs
- ParameterCollection.cs
- CapabilitiesState.cs
- ReaderWriterLockWrapper.cs
- UriTemplatePathSegment.cs
- ObjectDataSourceSelectingEventArgs.cs
- PrtTicket_Editor.cs
- TextProviderWrapper.cs
- PerformanceCounterCategory.cs
- DockingAttribute.cs
- SQLMembershipProvider.cs
- SearchForVirtualItemEventArgs.cs
- AffineTransform3D.cs
- Win32Native.cs
- ManualResetEvent.cs
- ParseNumbers.cs
- BamlLocalizer.cs
- AnnotationMap.cs
- ValueUnavailableException.cs
- ManagementOptions.cs
- HwndHost.cs
- CompilerHelpers.cs
- AggregateNode.cs
- SkinBuilder.cs
- Debug.cs
- HuffModule.cs
- HttpConfigurationSystem.cs
- MSHTMLHost.cs
- ExportOptions.cs
- FamilyMap.cs
- PropertyGeneratedEventArgs.cs
- BlurEffect.cs
- LingerOption.cs
- ReadOnlyNameValueCollection.cs
- MemberAccessException.cs
- ExpressionEditorAttribute.cs
- MasterPageParser.cs
- TextEditorSpelling.cs
- ContractInstanceProvider.cs
- MimeTypePropertyAttribute.cs
- GridViewSortEventArgs.cs
- KoreanLunisolarCalendar.cs
- TargetFrameworkUtil.cs
- JsonWriter.cs
- ConstraintEnumerator.cs
- SurrogateEncoder.cs
- Oid.cs
- PartialCachingAttribute.cs
- DataGridTableCollection.cs
- FileCodeGroup.cs
- MonitoringDescriptionAttribute.cs
- SignatureResourceHelper.cs
- VisualTarget.cs
- PointAnimationBase.cs
- InvalidCastException.cs
- Visual3DCollection.cs
- Transform.cs
- GlyphInfoList.cs
- DoubleAnimationClockResource.cs
- RenderTargetBitmap.cs
- CompiledXpathExpr.cs
- DateTimeFormatInfo.cs
- ActiveXContainer.cs
- EventItfInfo.cs
- WorkflowApplicationUnhandledExceptionEventArgs.cs
- DiscoveryDocument.cs
- XmlCompatibilityReader.cs
- BulletedListEventArgs.cs
- SystemThemeKey.cs
- UndoEngine.cs
- PathTooLongException.cs
- COM2ExtendedTypeConverter.cs
- StylusPoint.cs
- RenderDataDrawingContext.cs
- LogicalExpr.cs
- IntSumAggregationOperator.cs
- ZipIOCentralDirectoryFileHeader.cs
- KeyValueSerializer.cs
- externdll.cs
- URLAttribute.cs
- TableDetailsCollection.cs
- ParameterElement.cs
- AppDomain.cs
- TextRunCacheImp.cs
- SHA384.cs
- HttpModule.cs
- DataMisalignedException.cs
- InvalidateEvent.cs
- ObjectListCommandsPage.cs
- MultilineStringConverter.cs
- UnsafeNativeMethods.cs
- StreamMarshaler.cs
- MatrixAnimationBase.cs
- MatrixTransform.cs