PBEKeySpec.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00023 #ifndef _CLASS_BEE_CRYPTO_SPEC_PBEKEYSPEC_H
00024 #define _CLASS_BEE_CRYPTO_SPEC_PBEKEYSPEC_H
00025
00026 #ifdef __cplusplus
00027
00028 #include "beecrypt/c++/array.h"
00029 using beecrypt::array;
00030 using beecrypt::bytearray;
00031 #include "beecrypt/c++/lang/Object.h"
00032 using beecrypt::lang::Object;
00033 #include "beecrypt/c++/security/spec/KeySpec.h"
00034 using beecrypt::security::spec::KeySpec;
00035
00036 namespace beecrypt {
00037 namespace crypto {
00038 namespace spec {
00041 class BEECRYPTCXXAPI PBEKeySpec : public Object, public virtual KeySpec
00042 {
00043 private:
00044 array<jchar> _password;
00045 bytearray* _salt;
00046 size_t _iteration_count;
00047 size_t _key_length;
00048
00049 public:
00050 PBEKeySpec(const array<jchar>* password);
00051 PBEKeySpec(const array<jchar>* password, const bytearray* salt, size_t iterationCount, size_t keyLength);
00052 virtual ~PBEKeySpec();
00053
00054 const array<jchar>& getPassword() const throw ();
00055 const bytearray* getSalt() const throw ();
00056 size_t getIterationCount() const throw ();
00057 size_t getKeyLength() const throw ();
00058 };
00059 }
00060 }
00061 }
00062
00063 #endif
00064
00065 #endif