Changeset 4450:9cf317562718 in roaraudio


Ignore:
Timestamp:
10/09/10 20:27:38 (8 years ago)
Author:
phi
Branch:
default
Message:

implemented some functions for hashing

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • include/libroar/hash.h

    r4449 r4450  
    7676#define ROAR_HT_ISBN13      ROAR_HT_GTIN13 
    7777 
     78const char * roar_ht2str (const int    ht); 
     79int          roar_str2ht (const char * ht); 
     80 
     81struct roar_hash_state; 
     82 
     83int roar_hash_buffer(void * digest, const void * data, size_t datalen, int algo); 
     84int roar_hash_salted_buffer(void * digest, const void * data, size_t datalen, int algo, const void * salt, size_t saltlen); 
     85 
    7886#endif 
    7987 
  • libroar/hash.c

    r4446 r4450  
    3636#include "libroar.h" 
    3737 
     38static const struct hashes { 
     39 const int    id; 
     40 const char * name; 
     41} _libroar_hashes[] = { 
     42/* 
     43grep '^  +HT_' doc/new-cmds | sed 's/ *#(.*)$//; s/^  +HT_//; s/ *=.*$//' | while read n; do printf " {ROAR_HT_%-12s \"%-12s},\n" $n, $n\"; done 
     44*/ 
     45 {ROAR_HT_NONE,        "NONE"       }, 
     46 {ROAR_HT_MD5,         "MD5"        }, 
     47 {ROAR_HT_SHA1,        "SHA1"       }, 
     48 {ROAR_HT_RIPEMD160,   "RIPEMD160"  }, 
     49 {ROAR_HT_MD2,         "MD2"        }, 
     50 {ROAR_HT_TIGER,       "TIGER"      }, 
     51 {ROAR_HT_HAVAL,       "HAVAL"      }, 
     52 {ROAR_HT_SHA256,      "SHA256"     }, 
     53 {ROAR_HT_SHA384,      "SHA384"     }, 
     54 {ROAR_HT_SHA512,      "SHA512"     }, 
     55 {ROAR_HT_SHA224,      "SHA224"     }, 
     56 {ROAR_HT_MD4,         "MD4"        }, 
     57 {ROAR_HT_CRC32,       "CRC32"      }, 
     58 {ROAR_HT_RFC1510,     "RFC1510"    }, 
     59 {ROAR_HT_RFC2440,     "RFC2440"    }, 
     60 {ROAR_HT_WHIRLPOOL,   "WHIRLPOOL"  }, 
     61 {ROAR_HT_UUID,        "UUID"       }, 
     62 {ROAR_HT_GTN8,        "GTN8"       }, 
     63 {ROAR_HT_GTN16,       "GTN16"      }, 
     64 {ROAR_HT_GTN32,       "GTN32"      }, 
     65 {ROAR_HT_GTN64,       "GTN64"      }, 
     66 {ROAR_HT_CLIENTID,    "CLIENTID"   }, 
     67 {ROAR_HT_STREAMID,    "STREAMID"   }, 
     68 {ROAR_HT_SOURCEID,    "SOURCEID"   }, 
     69 {ROAR_HT_SAMPLEID,    "SAMPLEID"   }, 
     70 {ROAR_HT_MIXERID,     "MIXERID"    }, 
     71 {ROAR_HT_BRIDGEID,    "BRIDGEID"   }, 
     72 {ROAR_HT_LISTENID,    "LISTENID"   }, 
     73 {ROAR_HT_ACTIONID,    "ACTIONID"   }, 
     74 {ROAR_HT_MSGQUEUEID,  "MSGQUEUEID" }, 
     75 {ROAR_HT_MSGBUSID,    "MSGBUSID"   }, 
     76 {ROAR_HT_GTIN8,       "GTIN8"      }, 
     77 {ROAR_HT_GTIN13,      "GTIN13"     }, 
     78 {ROAR_HT_ISBN10,      "ISBN10"     }, 
     79 {ROAR_HT_ISBN13,      "ISBN13"     }, 
     80 {-1, NULL} 
     81}; 
     82 
     83const char * roar_ht2str (const int    ht) { 
     84 int i; 
     85 
     86 for (i = 0; _libroar_hashes[i].id != -1; i++) 
     87  if ( _libroar_hashes[i].id == ht ) 
     88   return _libroar_hashes[i].name; 
     89 
     90 return NULL; 
     91} 
     92 
     93int          roar_str2ht (const char * ht) { 
     94 int i; 
     95 
     96 for (i = 0; _libroar_hashes[i].id != -1; i++) 
     97  if ( !strcasecmp(_libroar_hashes[i].name, ht) ) 
     98   return _libroar_hashes[i].id; 
     99 
     100 return -1; 
     101} 
     102 
     103int roar_hash_buffer(void * digest, const void * data, size_t datalen, int algo) { 
     104 return roar_hash_salted_buffer(digest, data, datalen, algo, NULL, 0); 
     105} 
     106 
     107int roar_hash_salted_buffer(void * digest, const void * data, size_t datalen, int algo, const void * salt, size_t saltlen) { 
     108 return -1; 
     109} 
     110 
    38111//ll 
Note: See TracChangeset for help on using the changeset viewer.