| File: System\Security\Cryptography\PinAndClear.cs | Web Access |
| Project: src\runtime\src\libraries\System.Security.Cryptography\src\System.Security.Cryptography.csproj (System.Security.Cryptography) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Runtime.InteropServices; namespace System.Security.Cryptography { internal struct PinAndClear : IDisposable { private byte[] _data; private PinnedGCHandle<byte[]> _gcHandle; internal static PinAndClear Track(byte[] data) { return new PinAndClear { _gcHandle = new PinnedGCHandle<byte[]>(data), _data = data, }; } public void Dispose() { Array.Clear(_data); _gcHandle.Dispose(); } } }