Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / clr / src / BCL / System / Security / Cryptography / RijndaelManaged.cs / 1 / RijndaelManaged.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // RijndaelManaged.cs // namespace System.Security.Cryptography { [System.Runtime.InteropServices.ComVisible(true)] public sealed class RijndaelManaged : Rijndael { public RijndaelManaged () { if (Utils.FipsAlgorithmPolicy == 1) throw new InvalidOperationException(Environment.GetResourceString("Cryptography_NonCompliantFIPSAlgorithm")); } public override ICryptoTransform CreateEncryptor (byte[] rgbKey, byte[] rgbIV) { return NewEncryptor (rgbKey, ModeValue, rgbIV, FeedbackSizeValue, RijndaelManagedTransformMode.Encrypt); } public override ICryptoTransform CreateDecryptor (byte[] rgbKey, byte[] rgbIV) { return NewEncryptor (rgbKey, ModeValue, rgbIV, FeedbackSizeValue, RijndaelManagedTransformMode.Decrypt); } public override void GenerateKey () { KeyValue = new byte[KeySizeValue/8]; Utils.StaticRandomNumberGenerator.GetBytes(KeyValue); } public override void GenerateIV () { IVValue = new byte[BlockSizeValue/8]; Utils.StaticRandomNumberGenerator.GetBytes(IVValue); } private ICryptoTransform NewEncryptor (byte[] rgbKey, CipherMode mode, byte[] rgbIV, int feedbackSize, RijndaelManagedTransformMode encryptMode) { // Build the key if one does not already exist if (rgbKey == null) { rgbKey = new byte[KeySizeValue/8]; Utils.StaticRandomNumberGenerator.GetBytes(rgbKey); } // If not ECB mode, make sure we have an IV if (mode != CipherMode.ECB) { if (rgbIV == null) { rgbIV = new byte[BlockSizeValue/8]; Utils.StaticRandomNumberGenerator.GetBytes(rgbIV); } } // Create the encryptor/decryptor object return new RijndaelManagedTransform (rgbKey, mode, rgbIV, BlockSizeValue, feedbackSize, PaddingValue, encryptMode); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // RijndaelManaged.cs // namespace System.Security.Cryptography { [System.Runtime.InteropServices.ComVisible(true)] public sealed class RijndaelManaged : Rijndael { public RijndaelManaged () { if (Utils.FipsAlgorithmPolicy == 1) throw new InvalidOperationException(Environment.GetResourceString("Cryptography_NonCompliantFIPSAlgorithm")); } public override ICryptoTransform CreateEncryptor (byte[] rgbKey, byte[] rgbIV) { return NewEncryptor (rgbKey, ModeValue, rgbIV, FeedbackSizeValue, RijndaelManagedTransformMode.Encrypt); } public override ICryptoTransform CreateDecryptor (byte[] rgbKey, byte[] rgbIV) { return NewEncryptor (rgbKey, ModeValue, rgbIV, FeedbackSizeValue, RijndaelManagedTransformMode.Decrypt); } public override void GenerateKey () { KeyValue = new byte[KeySizeValue/8]; Utils.StaticRandomNumberGenerator.GetBytes(KeyValue); } public override void GenerateIV () { IVValue = new byte[BlockSizeValue/8]; Utils.StaticRandomNumberGenerator.GetBytes(IVValue); } private ICryptoTransform NewEncryptor (byte[] rgbKey, CipherMode mode, byte[] rgbIV, int feedbackSize, RijndaelManagedTransformMode encryptMode) { // Build the key if one does not already exist if (rgbKey == null) { rgbKey = new byte[KeySizeValue/8]; Utils.StaticRandomNumberGenerator.GetBytes(rgbKey); } // If not ECB mode, make sure we have an IV if (mode != CipherMode.ECB) { if (rgbIV == null) { rgbIV = new byte[BlockSizeValue/8]; Utils.StaticRandomNumberGenerator.GetBytes(rgbIV); } } // Create the encryptor/decryptor object return new RijndaelManagedTransform (rgbKey, mode, rgbIV, BlockSizeValue, feedbackSize, PaddingValue, encryptMode); } } } // 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
- FactoryGenerator.cs
- SQLDouble.cs
- InstanceData.cs
- XamlTemplateSerializer.cs
- BindingGroup.cs
- TypedRowHandler.cs
- ByteStreamGeometryContext.cs
- OutputCacheSettingsSection.cs
- Serializer.cs
- WebPartPersonalization.cs
- ContentPresenter.cs
- OrderByExpression.cs
- DefinitionBase.cs
- UpdatePanelTriggerCollection.cs
- JsonUriDataContract.cs
- ArgIterator.cs
- DataRowComparer.cs
- SettingsPropertyCollection.cs
- SqlConnection.cs
- SqlInfoMessageEvent.cs
- HandoffBehavior.cs
- DtrList.cs
- XPathAncestorIterator.cs
- MaskedTextBox.cs
- ArrayExtension.cs
- GroupBoxRenderer.cs
- Accessors.cs
- DefaultHttpHandler.cs
- Select.cs
- SessionPageStatePersister.cs
- WinFormsUtils.cs
- DrawListViewItemEventArgs.cs
- SelfIssuedAuthRSACryptoProvider.cs
- EventMap.cs
- UseAttributeSetsAction.cs
- OperatingSystem.cs
- SqlClientFactory.cs
- HTMLTagNameToTypeMapper.cs
- RegexTree.cs
- PersonalizationProviderCollection.cs
- OperationAbortedException.cs
- EntitySqlQueryBuilder.cs
- AutomationEventArgs.cs
- XmlDocumentFragment.cs
- HandleValueEditor.cs
- Trace.cs
- ValueProviderWrapper.cs
- OdbcParameterCollection.cs
- XmlElement.cs
- DataList.cs
- MsmqBindingElementBase.cs
- selecteditemcollection.cs
- HashMembershipCondition.cs
- GridViewRowEventArgs.cs
- OrderByLifter.cs
- MoveSizeWinEventHandler.cs
- DbModificationClause.cs
- PasswordTextContainer.cs
- DataGridColumnHeaderAutomationPeer.cs
- InstanceDataCollection.cs
- Switch.cs
- FileClassifier.cs
- WaitForChangedResult.cs
- SEHException.cs
- XmlArrayAttribute.cs
- BamlWriter.cs
- Operator.cs
- DataExpression.cs
- LinearGradientBrush.cs
- ClassHandlersStore.cs
- ListViewHitTestInfo.cs
- TextRunTypographyProperties.cs
- DataGridViewDataConnection.cs
- ClientCultureInfo.cs
- SignedXml.cs
- InfiniteTimeSpanConverter.cs
- PrimitiveCodeDomSerializer.cs
- ProviderIncompatibleException.cs
- CaseExpr.cs
- SemaphoreSecurity.cs
- ClientSettingsSection.cs
- ValuePatternIdentifiers.cs
- KeyMatchBuilder.cs
- RewritingPass.cs
- DLinqAssociationProvider.cs
- SurrogateSelector.cs
- PathGeometry.cs
- EncoderExceptionFallback.cs
- DataBoundControlAdapter.cs
- WindowsFormsEditorServiceHelper.cs
- ToolboxItemSnapLineBehavior.cs
- PropertiesTab.cs
- EventLogEntry.cs
- FilteredXmlReader.cs
- WindowHideOrCloseTracker.cs
- ConditionCollection.cs
- ThicknessAnimation.cs
- RubberbandSelector.cs
- FigureParagraph.cs
- ServicePerformanceCounters.cs