blob: ffa152e639923c4183bdb6e8d0d3e78b5858ffcc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
//
// AssemblyHash.cs
//
// Implementation of the
// System.Configuration.Assemblies.AssemblyHash
// class for the Mono Class Library
//
// Author:
// Tomas Restrepo (tomasr@mvps.org)
//
namespace System.Configuration.Assemblies {
[Serializable]
public struct AssemblyHash : System.ICloneable
{
private AssemblyHashAlgorithm _algorithm;
private byte[] _value;
public static readonly AssemblyHash Empty =
new AssemblyHash(AssemblyHashAlgorithm.None,null);
//
// properties
//
public AssemblyHashAlgorithm Algorithm {
get { return _algorithm; }
set { _algorithm = value; }
}
//
// construction
//
public AssemblyHash ( AssemblyHashAlgorithm algorithm, byte[] value )
{
_algorithm = algorithm;
_value = null;
if ( value != null )
{
int size = value.Length;
_value = new byte[size];
System.Array.Copy ( value, _value, size );
}
}
public AssemblyHash ( byte[] value )
: this(AssemblyHashAlgorithm.SHA1, value)
{
}
public object Clone()
{
return new AssemblyHash(_algorithm,_value);
}
public byte[] GetValue()
{
return _value;
}
public void SetValue ( byte[] value )
{
_value = value;
}
} // class AssemblyHash
} // namespace System.Configuration.Assemblies
|