FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

SHA1.C File Reference

Functions to compute SHA1 message digest of files or memory blocks according to the NIST specification FIPS-180-1. More...


Detailed Description

Functions to compute SHA1 message digest of files or memory blocks according to the NIST specification FIPS-180-1.

Adapted from the gnulib implementation written by Scott G. Miller with credits to Robert Klep <robert@ilse.nl> -- Expansion function fix

Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc.

Definition in file SHA1.C.

#include "src/OpenFOAM/primitives/hashes/SHA1/SHA1.H"
#include "src/OpenFOAM/db/IOstreams/IOstreams.H"
#include <cstring>
Include dependency graph for SHA1.C:

Go to the source code of this file.

Defines

#define  K1   0x5a827999
#define  K2   0x6ed9eba1
#define  K3   0x8f1bbcdc
#define  K4   0xca62c1d6
#define  F1(B, C, D)   ( D ^ ( B & ( C ^ D ) ) )
#define  F2(B, C, D)   (B ^ C ^ D)
#define  F3(B, C, D)   ( ( B & C ) | ( D & ( B | C ) ) )
#define  F4(B, C, D)   (B ^ C ^ D)
#define  rol_uint32(x, nbits)   (((x) << (nbits)) | ((x) >> (32 - (nbits))))
#define  M(I)
#define  R(A, B, C, D, E, F, K, M)

Define Documentation

#define K1   0x5a827999

Definition at line 174 of file SHA1.C.

#define K2   0x6ed9eba1

Definition at line 175 of file SHA1.C.

#define K3   0x8f1bbcdc

Definition at line 176 of file SHA1.C.

#define K4   0xca62c1d6

Definition at line 177 of file SHA1.C.

#define F1 (   B,
  C,
  D  
)    ( D ^ ( B & ( C ^ D ) ) )

Definition at line 180 of file SHA1.C.

Referenced by kOmegaSST::correct().

#define F2 (   B,
  C,
  D  
)    (B ^ C ^ D)

Definition at line 181 of file SHA1.C.

Referenced by kOmegaSST::correct(), and kOmegaSST::kOmegaSST().

#define F3 (   B,
  C,
  D  
)    ( ( B & C ) | ( D & ( B | C ) ) )

Definition at line 182 of file SHA1.C.

#define F4 (   B,
  C,
  D  
)    (B ^ C ^ D)

Definition at line 183 of file SHA1.C.

#define rol_uint32 (   x,
  nbits  
)    (((x) << (nbits)) | ((x) >> (32 - (nbits))))
#define M (   I  )
Value:
( tm = x[I & 0x0F] ^ x[(I-14) & 0x0F]                            \
               ^ x[(I-8) & 0x0F] ^ x[(I-3) & 0x0F]                            \
               , (x[I & 0x0F] = rol_uint32(tm, 1)) )

Referenced by Foam::operator&(), and Foam::operator<<().