Monday, 21 May 2012

DiceLockSecurity Knowledge

Windows - Source Code

Linux - Source Code

Apple Mac OS X

JAVA - Source Code

DOCUMENTATION - Inside Knowledge

DOCUMENTATION - Self browser view

HOW TO

arrow HashDigester 3.0.0.1 arrow baseSha32.h
baseSha32.h Print E-mail
Get C++ and Java source code with ready to use project files for Microsoft Visual Studio for Windows, Oracle JDeveloper for Java JRE, Xcode for Mac OS X and Eclipse CDT with Nokia QT for Linux ...
VisualStudio.pngjdeveloper.pngXcode.pngeclipse-cdt.pngqt.png
Retired Content
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Get FREE C++ Source Code

 

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
//
// Creator:    http://www.dicelocksecurity.com
// Version:    vers.3.0.0.1
//
// Copyright © 2009-2010 DiceLock Security, LLC. All rights reserved.
//
//                               DISCLAIMER
//
// THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES,
// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
// REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
#ifndef BASESHA32_HPP
 
#define BASESHA32_HPP
 
#ifdef DICELOCKCIPHER_EXPORTS
   #define CLASS_DECLSPEC    __declspec(dllexport)
#else
   #define CLASS_DECLSPEC    __declspec(dllimport)
#endif
 
#include "baseHash.h"
 
 
#define BASESHA_32_Ch(x, y, z) ((x & y) ^ ((~x) & z))
#define BASESHA_32_Maj(x, y, z) ((x & y) ^ (x & z) ^ (y & z))
 
#define BASESHA_32_DATABITS   512    // 512 block bits
#define BASESHA_32_DATAUCHARS 64     // 64  block unsigned chars
#define BASESHA_32_DATAULONGS 16     // 16  block unsigned longs
 
#define BASESHA_32_EQUATIONMODULO  448
 
 
namespace DiceLockSecurity {
 
  namespace Hash {
 
  class BaseSha32 abstract : public BaseHash {
 
    protected:
 
      // Number of data bits to compute hash
      static const unsigned short int dataHashBits;
      // Number of data unsigned chars to compute hash
      static const unsigned short int dataHashUCs;
      // Number of data unsigned long integers to compute hash
      static const unsigned short int dataHashULs;
 
      // Equation modulo constant value
      static const unsigned short int equationModulo;
 
      // Array to store remaining bytes of intermediate hash operation
      unsigned char remainingBytes[BASESHA_32_DATAUCHARS];
      unsigned long int remainingBytesLength;
 
      // Total processed message length in bytes
      unsigned long int messageBitLengthHigh;
      unsigned long int messageBitLengthLow;
 
      // Gets the number of unsigned chars in the hash block to be hashed
      CLASS_DECLSPEC unsigned short int GetDataHashUCs(void);
 
      // Adds messaage length processed, if it is greater than unsigned long makes use
      // of another usigned long to store overflow
      CLASS_DECLSPEC void AddMessageLength(unsigned long int);
 
      // Computes the chunk block of information  
      CLASS_DECLSPEC virtual void Compress(BaseCryptoRandomStream*, unsigned char*) {};
 
    public:
 
      // Constructor, default 
      CLASS_DECLSPEC BaseSha32();
 
      // Destructor
      CLASS_DECLSPEC ~BaseSha32();
 
      // Adds the BaseCryptoRandomStream to the hash
      CLASS_DECLSPEC void Add(BaseCryptoRandomStream*);
 
      // Finalize the hash
      CLASS_DECLSPEC void Finalize(void);
  };
  }
}
 
#endif
 
 
 



Close Me  
Get FREE Random Number Test Windows DLL !
Get FREE Hash Algorithms Windows DLL !