2009-04-28 4 views
10

Cos'è una libreria di hashing ad alte prestazioni che è anche multipiattaforma per C/C++. Per algoritmi come MD5, SHA1, CRC32 e Adler32.Libreria di hashing rapido C/C++ veloce multipiattaforma

Inizialmente ho avuto l'impressione che Boost avesse questi, ma apparentemente non (ancora).

Il più promettente che ho trovato finora è Crypto ++, altri suggerimenti? http://www.cryptopp.com/ Questo sembra abbastanza completo.

+0

Vorrei andare per cryptopp. – Skurmedel

risposta

7

Per i soliti hash crittografici (MD ?, SHA? Ecc.), openssl è il più portatile e probabilmente il più veloce. Nessuno degli hash che hai menzionato va bene per strutture dati ad alte prestazioni come le tabelle hash. Le funzioni hash consigliate per queste strutture dati in questi giorni sono: FNV, Jenkins e MurmurHash.

+1

interessante. potresti postare link? (sì lo so, posso google quelli ...) –

+0

Grazie, cercherò in openssl. L'uso degli hash non sarà per le tabelle hash, ma usato come hash per l'autenticazione e le verifiche dei documenti (è stato manomesso, ecc.) –

4

QT seem to implement MD4, MD5 e SHA1

+4

Perché includere un'intera libreria di widget solo per utilizzare le sue implementazioni MD5 e SHA-1? * Se * stai già utilizzando QT, questa potrebbe essere un'opzione di analisi, altrimenti è eccessivo. –

+1

Doxygen utilizza QTCore e nessuna delle classi della GUI. Si scopre che QT ha una buona astrazione della piattaforma. Vedi [Domande frequenti su Doxygen] (http://www.stack.nl/~dimitri/doxygen/faq.html) # 9. –

1

zlib ha un built-in attuazione di una variante crc32, ed è ampiamente porting. =)

2

Mi piacerebbe sicuramente andare con CryptoPP, ha una buona licenza per andare con esso pure.

+0

Sì, basta digitare il codice che ti serve e sarai impostato. – Skurmedel

1

Dispositivo multipiattaforma? Se significa per te cosa significa per me ciò significa non linux o forse il sistema operativo indipendente. Vorrei e ho evitato cose come OpenSSL. Sono andato con libtomcrypt. Ora per quanto riguarda la velocità? Ben veloce, portatile, C, ne ha scelti due.

+0

Questo blocco di libtomcrypt è interessante. – Johan

0

Dai un'occhiata alla libreria C plibsys: supporta MD5, SHA1, SHA-2 (224, 256, 384, 512), SHA-3 (224, 256, 384, 512) e crittografia GOST 34.11-94 algoritmi di hash. La libreria è portatile e leggera.