EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
md5.cc File Reference
#include "md5.h"
#include <string.h>
+ Include dependency graph for md5.cc:

Go to the source code of this file.

Macros

#define T1   0xd76aa478
 
#define T2   0xe8c7b756
 
#define T3   0x242070db
 
#define T4   0xc1bdceee
 
#define T5   0xf57c0faf
 
#define T6   0x4787c62a
 
#define T7   0xa8304613
 
#define T8   0xfd469501
 
#define T9   0x698098d8
 
#define T10   0x8b44f7af
 
#define T11   0xffff5bb1
 
#define T12   0x895cd7be
 
#define T13   0x6b901122
 
#define T14   0xfd987193
 
#define T15   0xa679438e
 
#define T16   0x49b40821
 
#define T17   0xf61e2562
 
#define T18   0xc040b340
 
#define T19   0x265e5a51
 
#define T20   0xe9b6c7aa
 
#define T21   0xd62f105d
 
#define T22   0x02441453
 
#define T23   0xd8a1e681
 
#define T24   0xe7d3fbc8
 
#define T25   0x21e1cde6
 
#define T26   0xc33707d6
 
#define T27   0xf4d50d87
 
#define T28   0x455a14ed
 
#define T29   0xa9e3e905
 
#define T30   0xfcefa3f8
 
#define T31   0x676f02d9
 
#define T32   0x8d2a4c8a
 
#define T33   0xfffa3942
 
#define T34   0x8771f681
 
#define T35   0x6d9d6122
 
#define T36   0xfde5380c
 
#define T37   0xa4beea44
 
#define T38   0x4bdecfa9
 
#define T39   0xf6bb4b60
 
#define T40   0xbebfbc70
 
#define T41   0x289b7ec6
 
#define T42   0xeaa127fa
 
#define T43   0xd4ef3085
 
#define T44   0x04881d05
 
#define T45   0xd9d4d039
 
#define T46   0xe6db99e5
 
#define T47   0x1fa27cf8
 
#define T48   0xc4ac5665
 
#define T49   0xf4292244
 
#define T50   0x432aff97
 
#define T51   0xab9423a7
 
#define T52   0xfc93a039
 
#define T53   0x655b59c3
 
#define T54   0x8f0ccc92
 
#define T55   0xffeff47d
 
#define T56   0x85845dd1
 
#define T57   0x6fa87e4f
 
#define T58   0xfe2ce6e0
 
#define T59   0xa3014314
 
#define T60   0x4e0811a1
 
#define T61   0xf7537e82
 
#define T62   0xbd3af235
 
#define T63   0x2ad7d2bb
 
#define T64   0xeb86d391
 
#define ARCH_IS_BIG_ENDIAN   1 /* slower, default implementation */
 
#define ROTATE_LEFT(x, n)   (((x) << (n)) | ((x) >> (32 - (n))))
 
#define F(x, y, z)   (((x) & (y)) | (~(x) & (z)))
 
#define SET(a, b, c, d, k, s, Ti)
 
#define G(x, y, z)   (((x) & (z)) | ((y) & ~(z)))
 
#define SET(a, b, c, d, k, s, Ti)
 
#define H(x, y, z)   ((x) ^ (y) ^ (z))
 
#define SET(a, b, c, d, k, s, Ti)
 
#define I(x, y, z)   ((y) ^ ((x) | ~(z)))
 
#define SET(a, b, c, d, k, s, Ti)
 

Functions

static void md5_process (md5_state_t *pms, const md5_byte_t *data)
 
void md5_init (md5_state_t *pms)
 
void md5_append (md5_state_t *pms, const md5_byte_t *data, int nbytes)
 
void md5_finish (md5_state_t *pms, md5_byte_t digest[16])
 

Macro Definition Documentation

#define ARCH_IS_BIG_ENDIAN   1 /* slower, default implementation */
#define ROTATE_LEFT (   x,
  n 
)    (((x) << (n)) | ((x) >> (32 - (n))))
#define SET (   a,
  b,
  c,
  d,
  k,
  s,
  Ti 
)
Value:
t = a + F(b,c,d) + X[k] + Ti;\
a = ROTATE_LEFT(t, s) + b

Referenced by md5_process().

#define SET (   a,
  b,
  c,
  d,
  k,
  s,
  Ti 
)
Value:
t = a + G(b,c,d) + X[k] + Ti;\
a = ROTATE_LEFT(t, s) + b
#define SET (   a,
  b,
  c,
  d,
  k,
  s,
  Ti 
)
Value:
t = a + H(b,c,d) + X[k] + Ti;\
a = ROTATE_LEFT(t, s) + b
#define SET (   a,
  b,
  c,
  d,
  k,
  s,
  Ti 
)
Value:
t = a + I(b,c,d) + X[k] + Ti;\
a = ROTATE_LEFT(t, s) + b
#define T1   0xd76aa478

Definition at line 99 of file md5.cc.

View newest version in sPHENIX GitHub at line 99 of file md5.cc

Referenced by LoopEvalFR(), LoopEvalHR(), LoopEvalPortableCircularCut(), md5_process(), beamBeamSystem::probabilityOfHadronBreakup(), and FairGeaneUtil::SymmProd().

#define T10   0x8b44f7af

Definition at line 108 of file md5.cc.

View newest version in sPHENIX GitHub at line 108 of file md5.cc

Referenced by md5_process().

#define T11   0xffff5bb1

Definition at line 109 of file md5.cc.

View newest version in sPHENIX GitHub at line 109 of file md5.cc

Referenced by md5_process().

#define T12   0x895cd7be

Definition at line 110 of file md5.cc.

View newest version in sPHENIX GitHub at line 110 of file md5.cc

Referenced by md5_process().

#define T13   0x6b901122

Definition at line 111 of file md5.cc.

View newest version in sPHENIX GitHub at line 111 of file md5.cc

Referenced by md5_process().

#define T14   0xfd987193

Definition at line 112 of file md5.cc.

View newest version in sPHENIX GitHub at line 112 of file md5.cc

Referenced by md5_process().

#define T15   0xa679438e

Definition at line 113 of file md5.cc.

View newest version in sPHENIX GitHub at line 113 of file md5.cc

Referenced by md5_process().

#define T16   0x49b40821

Definition at line 114 of file md5.cc.

View newest version in sPHENIX GitHub at line 114 of file md5.cc

Referenced by md5_process().

#define T17   0xf61e2562

Definition at line 115 of file md5.cc.

View newest version in sPHENIX GitHub at line 115 of file md5.cc

Referenced by md5_process().

#define T18   0xc040b340

Definition at line 116 of file md5.cc.

View newest version in sPHENIX GitHub at line 116 of file md5.cc

Referenced by md5_process().

#define T19   0x265e5a51

Definition at line 117 of file md5.cc.

View newest version in sPHENIX GitHub at line 117 of file md5.cc

Referenced by md5_process().

#define T2   0xe8c7b756

Definition at line 100 of file md5.cc.

View newest version in sPHENIX GitHub at line 100 of file md5.cc

Referenced by LoopEvalFR(), LoopEvalHR(), md5_process(), beamBeamSystem::probabilityOfHadronBreakup(), and FairGeaneUtil::SymmProd().

#define T20   0xe9b6c7aa

Definition at line 118 of file md5.cc.

View newest version in sPHENIX GitHub at line 118 of file md5.cc

Referenced by md5_process().

#define T21   0xd62f105d

Definition at line 119 of file md5.cc.

View newest version in sPHENIX GitHub at line 119 of file md5.cc

Referenced by md5_process().

#define T22   0x02441453

Definition at line 120 of file md5.cc.

View newest version in sPHENIX GitHub at line 120 of file md5.cc

Referenced by md5_process().

#define T23   0xd8a1e681

Definition at line 121 of file md5.cc.

View newest version in sPHENIX GitHub at line 121 of file md5.cc

Referenced by md5_process().

#define T24   0xe7d3fbc8

Definition at line 122 of file md5.cc.

View newest version in sPHENIX GitHub at line 122 of file md5.cc

Referenced by md5_process().

#define T25   0x21e1cde6

Definition at line 123 of file md5.cc.

View newest version in sPHENIX GitHub at line 123 of file md5.cc

Referenced by md5_process().

#define T26   0xc33707d6

Definition at line 124 of file md5.cc.

View newest version in sPHENIX GitHub at line 124 of file md5.cc

Referenced by md5_process().

#define T27   0xf4d50d87

Definition at line 125 of file md5.cc.

View newest version in sPHENIX GitHub at line 125 of file md5.cc

Referenced by md5_process().

#define T28   0x455a14ed

Definition at line 126 of file md5.cc.

View newest version in sPHENIX GitHub at line 126 of file md5.cc

Referenced by md5_process().

#define T29   0xa9e3e905

Definition at line 127 of file md5.cc.

View newest version in sPHENIX GitHub at line 127 of file md5.cc

Referenced by md5_process().

#define T3   0x242070db

Definition at line 101 of file md5.cc.

View newest version in sPHENIX GitHub at line 101 of file md5.cc

Referenced by LoopEvalHR(), md5_process(), and FairGeaneUtil::SymmProd().

#define T30   0xfcefa3f8

Definition at line 128 of file md5.cc.

View newest version in sPHENIX GitHub at line 128 of file md5.cc

Referenced by md5_process().

#define T31   0x676f02d9

Definition at line 129 of file md5.cc.

View newest version in sPHENIX GitHub at line 129 of file md5.cc

Referenced by md5_process().

#define T32   0x8d2a4c8a

Definition at line 130 of file md5.cc.

View newest version in sPHENIX GitHub at line 130 of file md5.cc

Referenced by md5_process().

#define T33   0xfffa3942

Definition at line 131 of file md5.cc.

View newest version in sPHENIX GitHub at line 131 of file md5.cc

Referenced by md5_process().

#define T34   0x8771f681

Definition at line 132 of file md5.cc.

View newest version in sPHENIX GitHub at line 132 of file md5.cc

Referenced by md5_process().

#define T35   0x6d9d6122

Definition at line 133 of file md5.cc.

View newest version in sPHENIX GitHub at line 133 of file md5.cc

Referenced by md5_process().

#define T36   0xfde5380c

Definition at line 134 of file md5.cc.

View newest version in sPHENIX GitHub at line 134 of file md5.cc

Referenced by md5_process().

#define T37   0xa4beea44

Definition at line 135 of file md5.cc.

View newest version in sPHENIX GitHub at line 135 of file md5.cc

Referenced by md5_process().

#define T38   0x4bdecfa9

Definition at line 136 of file md5.cc.

View newest version in sPHENIX GitHub at line 136 of file md5.cc

Referenced by md5_process().

#define T39   0xf6bb4b60

Definition at line 137 of file md5.cc.

View newest version in sPHENIX GitHub at line 137 of file md5.cc

Referenced by md5_process().

#define T4   0xc1bdceee

Definition at line 102 of file md5.cc.

View newest version in sPHENIX GitHub at line 102 of file md5.cc

Referenced by md5_process(), and FairGeaneUtil::SymmProd().

#define T40   0xbebfbc70

Definition at line 138 of file md5.cc.

View newest version in sPHENIX GitHub at line 138 of file md5.cc

Referenced by md5_process().

#define T41   0x289b7ec6

Definition at line 139 of file md5.cc.

View newest version in sPHENIX GitHub at line 139 of file md5.cc

Referenced by md5_process().

#define T42   0xeaa127fa

Definition at line 140 of file md5.cc.

View newest version in sPHENIX GitHub at line 140 of file md5.cc

Referenced by md5_process().

#define T43   0xd4ef3085

Definition at line 141 of file md5.cc.

View newest version in sPHENIX GitHub at line 141 of file md5.cc

Referenced by md5_process().

#define T44   0x04881d05

Definition at line 142 of file md5.cc.

View newest version in sPHENIX GitHub at line 142 of file md5.cc

Referenced by md5_process().

#define T45   0xd9d4d039

Definition at line 143 of file md5.cc.

View newest version in sPHENIX GitHub at line 143 of file md5.cc

Referenced by md5_process().

#define T46   0xe6db99e5

Definition at line 144 of file md5.cc.

View newest version in sPHENIX GitHub at line 144 of file md5.cc

Referenced by md5_process().

#define T47   0x1fa27cf8

Definition at line 145 of file md5.cc.

View newest version in sPHENIX GitHub at line 145 of file md5.cc

Referenced by md5_process().

#define T48   0xc4ac5665

Definition at line 146 of file md5.cc.

View newest version in sPHENIX GitHub at line 146 of file md5.cc

Referenced by md5_process().

#define T49   0xf4292244

Definition at line 147 of file md5.cc.

View newest version in sPHENIX GitHub at line 147 of file md5.cc

Referenced by md5_process().

#define T5   0xf57c0faf

Definition at line 103 of file md5.cc.

View newest version in sPHENIX GitHub at line 103 of file md5.cc

Referenced by md5_process(), and FairGeaneUtil::SymmProd().

#define T50   0x432aff97

Definition at line 148 of file md5.cc.

View newest version in sPHENIX GitHub at line 148 of file md5.cc

Referenced by md5_process().

#define T51   0xab9423a7

Definition at line 149 of file md5.cc.

View newest version in sPHENIX GitHub at line 149 of file md5.cc

Referenced by md5_process().

#define T52   0xfc93a039

Definition at line 150 of file md5.cc.

View newest version in sPHENIX GitHub at line 150 of file md5.cc

Referenced by md5_process().

#define T53   0x655b59c3

Definition at line 151 of file md5.cc.

View newest version in sPHENIX GitHub at line 151 of file md5.cc

Referenced by md5_process().

#define T54   0x8f0ccc92

Definition at line 152 of file md5.cc.

View newest version in sPHENIX GitHub at line 152 of file md5.cc

Referenced by md5_process().

#define T55   0xffeff47d

Definition at line 153 of file md5.cc.

View newest version in sPHENIX GitHub at line 153 of file md5.cc

Referenced by md5_process().

#define T56   0x85845dd1

Definition at line 154 of file md5.cc.

View newest version in sPHENIX GitHub at line 154 of file md5.cc

Referenced by md5_process().

#define T57   0x6fa87e4f

Definition at line 155 of file md5.cc.

View newest version in sPHENIX GitHub at line 155 of file md5.cc

Referenced by md5_process().

#define T58   0xfe2ce6e0

Definition at line 156 of file md5.cc.

View newest version in sPHENIX GitHub at line 156 of file md5.cc

Referenced by md5_process().

#define T59   0xa3014314

Definition at line 157 of file md5.cc.

View newest version in sPHENIX GitHub at line 157 of file md5.cc

Referenced by md5_process().

#define T6   0x4787c62a

Definition at line 104 of file md5.cc.

View newest version in sPHENIX GitHub at line 104 of file md5.cc

Referenced by md5_process().

#define T60   0x4e0811a1

Definition at line 158 of file md5.cc.

View newest version in sPHENIX GitHub at line 158 of file md5.cc

Referenced by md5_process().

#define T61   0xf7537e82

Definition at line 159 of file md5.cc.

View newest version in sPHENIX GitHub at line 159 of file md5.cc

Referenced by md5_process().

#define T62   0xbd3af235

Definition at line 160 of file md5.cc.

View newest version in sPHENIX GitHub at line 160 of file md5.cc

Referenced by md5_process().

#define T63   0x2ad7d2bb

Definition at line 161 of file md5.cc.

View newest version in sPHENIX GitHub at line 161 of file md5.cc

Referenced by md5_process().

#define T64   0xeb86d391

Definition at line 162 of file md5.cc.

View newest version in sPHENIX GitHub at line 162 of file md5.cc

Referenced by md5_process().

#define T7   0xa8304613

Definition at line 105 of file md5.cc.

View newest version in sPHENIX GitHub at line 105 of file md5.cc

Referenced by md5_process().

#define T8   0xfd469501

Definition at line 106 of file md5.cc.

View newest version in sPHENIX GitHub at line 106 of file md5.cc

Referenced by md5_process().

#define T9   0x698098d8

Definition at line 107 of file md5.cc.

View newest version in sPHENIX GitHub at line 107 of file md5.cc

Referenced by md5_process().

Function Documentation

void md5_append ( md5_state_t pms,
const md5_byte_t data,
int  nbytes 
)

Definition at line 333 of file md5.cc.

View newest version in sPHENIX GitHub at line 333 of file md5.cc

References md5_state_s::buf, md5_state_s::count, data, md5_process(), offset, and p.

Referenced by md5_finish(), and PHmd5Stream().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void md5_finish ( md5_state_t pms,
md5_byte_t  digest[16] 
)

Definition at line 371 of file md5.cc.

View newest version in sPHENIX GitHub at line 371 of file md5.cc

References md5_state_s::abcd, md5_state_s::count, data, and md5_append().

Referenced by PHmd5Stream().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void md5_init ( md5_state_t pms)

Definition at line 323 of file md5.cc.

View newest version in sPHENIX GitHub at line 323 of file md5.cc

References md5_state_s::abcd, and md5_state_s::count.

Referenced by PHmd5Stream().

+ Here is the caller graph for this function:

static void md5_process ( md5_state_t pms,
const md5_byte_t data 
)
static

Definition at line 165 of file md5.cc.

View newest version in sPHENIX GitHub at line 165 of file md5.cc

References md5_state_s::abcd, c, d, data, SET, t, T1, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T2, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T3, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T4, T40, T41, T42, T43, T44, T45, T46, T47, T48, T49, T5, T50, T51, T52, T53, T54, T55, T56, T57, T58, T59, T6, T60, T61, T62, T63, T64, T7, T8, and T9.

Referenced by md5_append().

+ Here is the caller graph for this function: