// MACTripleDES.cs: Handles MAC with TripleDES
//
// Author:
-// Sebastien Pouliot (spouliot@motus.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)
+// 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
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-using System;
+using System.Runtime.InteropServices;
using Mono.Security.Cryptography;
// http://www.itl.nist.gov/fipspubs/fip81.htm
// LAMESPEC: MACTripleDES == MAC-CBC using TripleDES (not MAC-CFB).
+#if NET_2_0
+ [ComVisible (true)]
+#endif
public class MACTripleDES: KeyedHashAlgorithm {
private TripleDES tdes;
private void Setup (string strTripleDES, byte[] rgbKey)
{
tdes = TripleDES.Create (strTripleDES);
+ // default padding (as using in Fx 1.0 and 1.1)
+ tdes.Padding = PaddingMode.Zeros;
// if rgbKey is null we keep the randomly generated key
if (rgbKey != null) {
// this way we get the TripleDES key validation (like weak
{
Dispose (false);
}
-
+
+#if NET_2_0
+ [ComVisible (false)]
+ public PaddingMode Padding {
+ get { return tdes.Padding; }
+ set { tdes.Padding = value; }
+ }
+#endif
+
protected override void Dispose (bool disposing)
{
if (!m_disposed) {
return mac.Final ();
}
}
-}
\ No newline at end of file
+}