レポジトリ種類: Mercurial
#ifndef CHKPASS_HH
#define CHKPASS_HH
#include <FL/Fl_Button.H>
#include <FL/Fl_Radio_Button.H>
#include <string>
#include "dialog.hh"
class Chkpass : public Dialog {
public:
Fl_Button *btn = nullptr;
Fl_Radio_Button *allChk = nullptr;
Fl_Radio_Button *lenChk = nullptr;
Fl_Radio_Button *charChk = nullptr;
Fl_Radio_Button *dupChk = nullptr;
bool isAll, isLen, isChar, isDup = false;
static void dialog_cb(Fl_Widget *w, void *);
void showRes();
void chk_cb(Fl_Widget *, void *);
bool exec();
private:
int vulncount = 0;
int weaklencount = 0;
int weakcharcount = 0;
int duppasscount = 0;
std::size_t minimumlen = 12;
std::size_t recommendlen = 64;
std::string spchar = "!@#$%^&*()-_=+[]{}|;:'\",.<>?/\\`~";
void lenPass(const std::string &path, const std::string &pass,
const std::string &lang);
void charPass(const std::string &path, const std::string &pass,
const std::string &lang);
void dupPass(const std::string &path, const std::string &pass,
const std::string &lang);
static void static_ok_cb(Fl_Widget *w, void *data);
static void static_cancel_cb(Fl_Widget *w, void *data);
};
#endif