public function run()
    {
        $argument      = Eurekon\Argument::getInstance();
        $passwordPlain = (string) $argument->get('p', 'password');
        $length        = (int) $argument->get('l', 'length', 16);

        $password = new Password($passwordPlain);

        if (empty($passwordPlain)) {
            $password->generate($length);
        }

        $password->hash();

        $green = (new Style())->highlight('fg')->color('fg', Style::COLOR_GREEN);
        $white = (new Style())->highlight('fg')->color('fg', Style::COLOR_WHITE);

        Out::std((string) $green->setText('Password: ') . (string) $white->setText($password->getPlain()));
        Out::std((string) $green->setText('Hash:     ') . (string) $white->setText($password->getHash()));
    }