xmpp/sha.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>

Include dependency graph for xmpp/sha.c:

Go to the source code of this file.

Defines

#define Ai   0x67452301
#define Bi   0xefcdab89
#define Ci   0x98badcfe
#define Di   0x10325476
#define Ei   0xc3d2e1f0
#define f1(B, C, D)   ((B & C) | ((~B) & D))
#define f2(B, C, D)   (B ^ C ^ D)
#define f3(B, C, D)   ((B & C) | (B & D) | (C & D))
#define INT64   long long
#define K1   0x5a827999
#define K2   0x6ed9eba1
#define K3   0x8f1bbcdc
#define K4   0xca62c1d6
#define rol1(x)   ((x<<1) | ((x>>31) & 1))
#define rol30(B)   ((B<<30) | ((B>>2) & 0x3fffffff))
#define rol5(A)   ((A<<5) | ((A>>27) & 0x1f))
#define switch_endianness(x)

Functions

int sha_hash (int *data, int *hash)
int sha_init (int *hash)
char * shahash (const char *str)
int strprintsha (char *dest, int *hashval)


Detailed Description

Definition in file xmpp/sha.c.


Define Documentation

#define Ai   0x67452301

Definition at line 73 of file xmpp/sha.c.

#define Bi   0xefcdab89

Definition at line 74 of file xmpp/sha.c.

#define Ci   0x98badcfe

Definition at line 75 of file xmpp/sha.c.

#define Di   0x10325476

Definition at line 76 of file xmpp/sha.c.

#define Ei   0xc3d2e1f0

Definition at line 77 of file xmpp/sha.c.

#define f1 ( B,
C,
 )     ((B & C) | ((~B) & D))

Definition at line 86 of file xmpp/sha.c.

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

Definition at line 87 of file xmpp/sha.c.

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

Definition at line 88 of file xmpp/sha.c.

#define INT64   long long

Definition at line 61 of file xmpp/sha.c.

#define K1   0x5a827999

Definition at line 80 of file xmpp/sha.c.

#define K2   0x6ed9eba1

Definition at line 81 of file xmpp/sha.c.

#define K3   0x8f1bbcdc

Definition at line 82 of file xmpp/sha.c.

#define K4   0xca62c1d6

Definition at line 83 of file xmpp/sha.c.

#define rol1 (  )     ((x<<1) | ((x>>31) & 1))

Definition at line 91 of file xmpp/sha.c.

#define rol30 (  )     ((B<<30) | ((B>>2) & 0x3fffffff))

Definition at line 93 of file xmpp/sha.c.

#define rol5 (  )     ((A<<5) | ((A>>27) & 0x1f))

Definition at line 92 of file xmpp/sha.c.

#define switch_endianness (  ) 

Value:

(x<<24 & 0xff000000) | \
                             (x<<8  & 0x00ff0000) | \
                             (x>>8  & 0x0000ff00) | \
                             (x>>24 & 0x000000ff)

Definition at line 67 of file xmpp/sha.c.


Function Documentation

int sha_hash ( int *  data,
int *  hash 
)

Definition at line 101 of file xmpp/sha.c.

References f1, f2, f3, K1, K2, K3, K4, rol1, rol30, rol5, and switch_endianness.

int sha_init ( int *  hash  ) 

Definition at line 177 of file xmpp/sha.c.

References Ai, Bi, Ci, Di, and Ei.

char* shahash ( const char *  str  ) 

Definition at line 204 of file xmpp/sha.c.

References INT64, sha_hash(), sha_init(), and strprintsha().

int strprintsha ( char *  dest,
int *  hashval 
)

Definition at line 187 of file xmpp/sha.c.

References snprintf.


Generated on Fri May 25 00:00:43 2012 for Kamailio - The Open Source SIP Server by  doxygen 1.5.6