source: trunk/PKCS1/Library/Datablock.cs @ 1738

Last change on this file since 1738 was 1738, checked in by schomburg, 11 years ago

fixed KuehnSignatures so that they should work and minor fixes on other classes

File size: 2.2 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5
6using Org.BouncyCastle.Utilities.Encoders;
7
8namespace PKCS1.Library
9{
10    class Datablock
11    {
12        #region Singleton
13        // Singleton
14        //
15        private static Datablock instance = null;
16
17        public static Datablock getInstance()
18        {
19            if (instance == null) { instance = new Datablock(); }
20            return instance;
21        }
22
23        private Datablock()
24        {
25        }
26        //
27        // end Singleton
28        #endregion
29
30        #region Member
31
32        private HashFunctionIdent m_hashFuncIdent = HashFunctionHandler.SHA1; // default SHA-1
33        public HashFunctionIdent HashFunctionIdent
34        {
35            set 
36            { 
37                this.m_hashFuncIdent = (HashFunctionIdent)value;
38                OnRaiseParamChangedEvent(ParameterChangeType.HashfunctionType);
39            }
40            get { return this.m_hashFuncIdent; }
41        }
42
43        protected byte[] m_Message = new byte[0];
44        public byte[] Message
45        {
46            set 
47            {
48                //string tmpString = (string)value;
49                //this.m_Message = Encoding.ASCII.GetBytes(tmpString);
50                this.m_Message = value;
51                OnRaiseParamChangedEvent(ParameterChangeType.Message);
52            }
53            //get { return Encoding.ASCII.GetString(this.m_Message); }
54            get { return this.m_Message; }
55        }
56
57        #endregion
58
59        #region Eventhandling
60
61        public event ParamChanged RaiseParamChangedEvent;
62
63        private void OnRaiseParamChangedEvent( ParameterChangeType type )
64        {
65            if (null != RaiseParamChangedEvent)
66            {
67                RaiseParamChangedEvent(type);               
68            }
69        }
70
71        #endregion
72
73        #region Functions
74
75        public string GetHashDigestToHexString()
76        {
77            byte[] bMessage = this.Message;
78            HashFunctionIdent hashIdent = this.HashFunctionIdent;
79            return Encoding.ASCII.GetString(Hex.Encode(Hashfunction.generateHashDigest(ref bMessage, ref hashIdent)));
80        }
81       
82        #endregion
83    }
84}
Note: See TracBrowser for help on using the repository browser.