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

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

initial commit of PKCS1 Plugin

File size: 2.1 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 string Message
45        {
46            set 
47            {
48                string tmpString = (string)value;
49                this.m_Message = Encoding.ASCII.GetBytes(tmpString);
50                OnRaiseParamChangedEvent(ParameterChangeType.Message);
51            }
52            get { return Encoding.ASCII.GetString(this.m_Message); }
53        }
54
55        #endregion
56
57        #region Eventhandling
58
59        public event ParamChanged RaiseParamChangedEvent;
60
61        private void OnRaiseParamChangedEvent( ParameterChangeType type )
62        {
63            if (null != RaiseParamChangedEvent)
64            {
65                RaiseParamChangedEvent(type);               
66            }
67        }
68
69        #endregion
70
71        #region Functions
72
73        public string GetHashDigestToHexString()
74        {
75            return Encoding.ASCII.GetString(Hex.Encode(Hashfunction.generateHashDigest(this.Message, this.HashFunctionIdent)));
76        }
77       
78        #endregion
79    }
80}
Note: See TracBrowser for help on using the repository browser.