internal byte[] DecryptWithSessionKey(byte[] data) { byte[] pbData = new byte[data.Length]; Array.Copy((Array)data, 0, (Array)pbData, 0, data.Length); int length = pbData.Length; if (!PSCryptoNativeUtils.CryptDecrypt(this.hSessionKey, IntPtr.Zero, true, 0U, pbData, ref length)) { pbData = new byte[length]; Array.Copy((Array)data, 0, (Array)pbData, 0, data.Length); this.CheckStatus(PSCryptoNativeUtils.CryptDecrypt(this.hSessionKey, IntPtr.Zero, true, 0U, pbData, ref length)); } byte[] numArray = new byte[length]; Array.Copy((Array)pbData, 0, (Array)numArray, 0, length); for (int index = 0; index < pbData.Length; ++index) { pbData[index] = (byte)0; } return(numArray); }
internal byte[] DecryptWithSessionKey(byte[] data) { byte[] destinationArray = new byte[data.Length]; Array.Copy(data, 0, destinationArray, 0, data.Length); int length = destinationArray.Length; if (!PSCryptoNativeUtils.CryptDecrypt(this.hSessionKey, IntPtr.Zero, true, 0, destinationArray, ref length)) { destinationArray = new byte[length]; Array.Copy(data, 0, destinationArray, 0, data.Length); bool flag = PSCryptoNativeUtils.CryptDecrypt(this.hSessionKey, IntPtr.Zero, true, 0, destinationArray, ref length); this.CheckStatus(flag); } byte[] buffer2 = new byte[length]; Array.Copy(destinationArray, 0, buffer2, 0, length); for (int i = 0; i < destinationArray.Length; i++) { destinationArray[i] = 0; } return(buffer2); }