New test.
[mono.git] / mcs / class / corlib / System.Security.Cryptography / HMACSHA1.cs
index dcecc27d9faf7d46f0a6f775dc48bfa21de32d79..ecd2a13023eb4ee7e7c639c3b6683f3da69975fb 100644 (file)
@@ -2,10 +2,10 @@
 // HMACSHA1.cs: Handles HMAC with SHA-1
 //
 // Author:
-//     Sebastien Pouliot <sebastien@ximian.com>
+//     Sebastien Pouliot  <sebastien@ximian.com>
 //
-// (C) 2002, 2003 Motus Technologies Inc. (http://www.motus.com)
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2003 Motus Technologies Inc. (http://www.motus.com)
+// Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
 //
 // Permission is hereby granted, free of charge, to any person obtaining
 // a copy of this software and associated documentation files (the
@@ -28,6 +28,7 @@
 //
 
 using System.IO;
+using System.Runtime.InteropServices;
 
 using Mono.Security.Cryptography;
 
@@ -133,22 +134,26 @@ namespace System.Security.Cryptography {
                }
        }
 #else
+       [ComVisible (true)]
        public class HMACSHA1 : HMAC {
 
-               public HMACSHA1 () : this (KeyBuilder.Key (8))
+               public HMACSHA1 ()
+                       : this (KeyBuilder.Key (8))
                {
                }
 
-               public HMACSHA1 (byte[] rgbKey) : base () 
+               public HMACSHA1 (byte[] rgbKey)
                {
                        HashName = "SHA1";
                        HashSizeValue = 160;
                        Key = rgbKey;
                }
 
-               ~HMACSHA1 () 
+               public HMACSHA1 (byte[] rgbKey, bool useManagedSha1)
                {
-                       Dispose (false);
+                       HashName = "System.Security.Cryptography.SHA1" + (useManagedSha1 ? "Managed" : "CryptoServiceProvider");
+                       HashSizeValue = 160;
+                       Key = rgbKey;
                }
        }
 #endif