#ifndef BOTAN_PKCS5_H__
#define BOTAN_PKCS5_H__
#include "botan-1.6/include/s2k.h"
namespace Enctain {
namespace Botan {
class PKCS5_PBKDF1 : public S2K
{
public:
std::string name() const;
S2K* clone() const { return new PKCS5_PBKDF1(hash_name); }
PKCS5_PBKDF1(const std::string&);
private:
OctetString derive(u32bit, const MemoryRegion<byte>&,
const byte[], u32bit, u32bit) const;
const std::string hash_name;
};
class PKCS5_PBKDF2 : public S2K
{
public:
std::string name() const;
S2K* clone() const { return new PKCS5_PBKDF2(hash_name); }
PKCS5_PBKDF2(const std::string&);
private:
OctetString derive(u32bit, const MemoryRegion<byte>&,
const byte[], u32bit, u32bit) const;
const std::string hash_name;
};
}
}
#endif