00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#ifndef SH_MHASHKEYGEN_H
00022
#define SH_MHASHKEYGEN_H
00023
00024
#include <vector>
00025
00026
#include <mhash.h>
00027
00028 class MHashKeyGen {
00029
public:
00030
MHashKeyGen (
void) ;
00031
MHashKeyGen (keygenid kgalgo, hashid halgo,
unsigned int keysize) ;
00032
~MHashKeyGen (
void) ;
00033
00034
void setKeySize (
unsigned int KeySize) ;
00035
void setKeyGenAlgorithm (keygenid algo) ;
00036
void setHashAlgorithm (hashid hashalgo) ;
00037
void setHashAlgorithms (std::vector<hashid> hashalgos) ;
00038
void setSalt (std::vector<unsigned char> salt) ;
00039
00040 std::vector<unsigned char>
createKey (std::string password) ;
00041
00042
private:
00043 bool ready ;
00044 keygenid
Algorithm ;
00045 KEYGEN
AlgorithmData ;
00046 unsigned int KeySize ;
00047
00048
void *
s_malloc (size_t size) ;
00049 } ;
00050
00051
#endif // ndef SH_MHASHKEYGEN_H