2002-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / mcs / class / corlib / System.Security.Cryptography / RNGCryptoServiceProvider.cs
1 //
2 // System.Security.Cryptography.RNGCryptoServiceProvider
3 //
4 // Author: Mark Crichton (crichton@gimp.org)
5 //
6 // (C) 2002
7 //
8
9 // "In the beginning there was Chaos,
10 // and within this Chaos was Power,
11 // Great Power without form."
12 // -- The Verrah Rubicon of Verena, Book One
13
14 using System;
15 using System.Runtime.CompilerServices;
16
17 namespace System.Security.Cryptography {
18         
19         public class RNGCryptoServiceProvider : RandomNumberGenerator {
20                 
21                 [MonoTODO]
22                 public RNGCryptoServiceProvider () {
23                         // This will get some meaning when I figure out what the other
24                         // three constructors do.
25                 }
26                 
27                 [MonoTODO]
28                 public RNGCryptoServiceProvider (byte[] rgb) {
29                         // Ok, not called by app code... someone must call it, though.
30                 }
31                 
32                 [MonoTODO]
33                 public RNGCryptoServiceProvider (CspParameters cspParams) {
34                         // Why do I have this feeling this is the MS CryptAPI...
35                 }
36                 
37                 [MonoTODO]
38                 public RNGCryptoServiceProvider (string str) {
39                         // More !application code.  Interesting...
40                 }
41                 
42                 [MethodImplAttribute(MethodImplOptions.InternalCall)]
43                 public extern override void GetBytes (byte[] data);
44                 
45                 [MethodImplAttribute(MethodImplOptions.InternalCall)]
46                 public extern override void GetNonZeroBytes (byte[] data);
47                 
48                 ~RNGCryptoServiceProvider () {
49                         // FIN?
50                 }
51         }
52 }