using System.Globalization;
using System.IO;
using System.Runtime.InteropServices;
+#if NET_4_5
+using System.Threading;
+using System.Threading.Tasks;
+#endif
namespace System.Security.Cryptography {
}
}
}
+
#if NET_4_0
public bool HasFlushedFinalBlock {
get { return _flushedFinalBlock; }
}
#endif
+
+#if NET_4_5
+ public override Task FlushAsync (CancellationToken cancellationToken)
+ {
+ return base.FlushAsync (cancellationToken);
+ }
+
+ public override Task<int> ReadAsync (byte[] buffer, int offset, int count, CancellationToken cancellationToken)
+ {
+ return base.ReadAsync (buffer, offset, count, cancellationToken);
+ }
+
+ public override Task WriteAsync (byte[] buffer, int offset, int count, CancellationToken cancellationToken)
+ {
+ return base.WriteAsync (buffer, offset, count, cancellationToken);
+ }
+#endif
}
}
public abstract void GetBytes (byte[] data);
+#if NET_4_5
+ public virtual void GetNonZeroBytes (byte[] data)
+ {
+ throw new NotImplementedException ();
+ }
+#else
public abstract void GetNonZeroBytes (byte[] data);
+#endif
+
+
#if NET_4_0 || MOONLIGHT
public void Dispose ()
{