source: trunk/CrypPlugins/PKCS1/Library/Datablock.cs

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