elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Qt4.6] QtPassGen by. Lord R.N.A.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Qt4.6] QtPassGen by. Lord R.N.A.  (Leído 4,884 veces)
[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
[Qt4.6] QtPassGen by. Lord R.N.A.
« en: 3 Agosto 2010, 02:42 am »

El titulo lo explica, es un generador de passwords. Genera passwords de entre 8 y 32 caracteres agregando numeros, letras y simbolos. Compila perfectamente en Qt4.6.

main.cpp:

Código
  1. #include <QtGui/QApplication>
  2. #include "qtpass.h"
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6.    QApplication a(argc, argv);
  7.    QtPass w;
  8.    w.show();
  9.    return a.exec();
  10. }

qtpass.h:
Código
  1. #ifndef QTPASS_H
  2. #define QTPASS_H
  3.  
  4. #include <QtGui>
  5.  
  6. class QLineEdit;
  7. class QPushButton;
  8. class QLabel;
  9. class QSpinBox;
  10. class QString;
  11.  
  12. class QtPass : public QWidget {
  13.    Q_OBJECT
  14.  
  15. public:
  16.    QtPass(QWidget *parent = 0);
  17.  
  18. private slots:
  19.    void GenerarPass();
  20.    void About();
  21.  
  22. private:
  23.    QString *pass;
  24.    QLineEdit *LinePass;
  25.    QPushButton *ButtonGen, *ButtonAbout, *ButtonSalir;
  26.    QLabel *LabelPass;
  27.    QSpinBox *SpinChar;
  28.    QHBoxLayout *TopLayout;
  29.    QHBoxLayout *BottomLayout;
  30.    QVBoxLayout * MainLayout;
  31.  
  32.  
  33. };
  34.  
  35. #endif // QTPASS_H

qtpass.cpp:
Código
  1. #include "qtpass.h"
  2.  
  3. QtPass::QtPass(QWidget *parent) :
  4.    QWidget(parent)
  5.   {
  6. //Creamos los Widgets que vamos a necesitar
  7.    this->LinePass = new QLineEdit;
  8.    this->SpinChar = new QSpinBox;
  9.    this->ButtonGen = new QPushButton("&Generar");
  10.    this->ButtonAbout = new QPushButton("&About");
  11.    this->ButtonSalir = new QPushButton("&Salir");
  12.    this->LabelPass = new QLabel("Password: ");
  13.  
  14. //Configuramos algunos Widgets
  15.    this->ButtonGen->setDefault(true);
  16.    this->LinePass->setReadOnly(true);
  17.    this->SpinChar->setMaximum(32);
  18.    this->SpinChar->setMinimum(8);
  19.  
  20. //Preparamos los Layouts que necesitaremos para organizar.
  21.    this->TopLayout = new QHBoxLayout;
  22.    this->BottomLayout = new QHBoxLayout;
  23.    this->MainLayout = new QVBoxLayout;
  24.  
  25. //Empezamos la organizacion de los Widgets
  26.    this->TopLayout->addWidget(this->LabelPass);
  27.    this->TopLayout->addWidget(this->LinePass);
  28.    this->TopLayout->addWidget(this->SpinChar);
  29.    this->BottomLayout->addWidget(this->ButtonGen);
  30.    this->BottomLayout->addWidget(this->ButtonAbout);
  31.    this->BottomLayout->addWidget(this->ButtonSalir);
  32.    this->MainLayout->addLayout(this->TopLayout);
  33.    this->MainLayout->addLayout(this->BottomLayout);
  34.  
  35. //Añadimos titulo y el Layout principal a la ventana.
  36.    this->setWindowTitle("QtPassGen by Lord R.N.A.");
  37.    this->setLayout(this->MainLayout);
  38.    this->setFixedSize(420,80);
  39.  
  40. //Realizamos las conexiones que necesitaremos.
  41.    connect(this->ButtonSalir,SIGNAL(clicked()),this,SLOT(close()));
  42.    connect(this->ButtonGen,SIGNAL(clicked()),this,SLOT(GenerarPass()));
  43.    connect(this->ButtonAbout,SIGNAL(clicked()),this,SLOT(About()));
  44.    }
  45.  
  46. //La funcion encargada de generar el password.
  47. void QtPass::GenerarPass()
  48. {
  49. this->pass = new QString;
  50. QTime *seed = new QTime;
  51. seed->start(); //Para inicializar el puntero seed con la hora actual.
  52. qsrand(seed->msec()); //La semilla para qrand();
  53. for(int i=0;this->SpinChar->value()>i;i++)
  54. {
  55.    this->pass->insert(i,QChar(qrand()%95 +33));//Inserta en la posicion i, el char devuelto por QChar();
  56.    if(this->pass->at(i)==QChar(96))i--;
  57.  
  58. }
  59. this->LinePass->setText(*this->pass);
  60. delete this->pass;
  61. delete seed;
  62. }
  63.  
  64. //El MessageBox para el About.
  65. void QtPass::About()
  66. {
  67.    QMessageBox::about(this,"About","<b>QtPassGen v1.0 by Lord R.N.A.</b> <br><br>"
  68.                       "Aplicacion Generadora de Passwords <br>Qt 4.6"
  69.                       "<br><br><b>R.N.A. Labs.</b>");
  70. }


En línea

cbug

Desconectado Desconectado

Mensajes: 147



Ver Perfil
Re: [Qt4.6] QtPassGen by. Lord R.N.A.
« Respuesta #1 en: 3 Agosto 2010, 02:52 am »

Pregunta... codificas todo o utilizas QT-Designer?

Me parece bueno tu ejemplo.


En línea

[Zero]
Wiki

Desconectado Desconectado

Mensajes: 1.082


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: [Qt4.6] QtPassGen by. Lord R.N.A.
« Respuesta #2 en: 3 Agosto 2010, 02:54 am »

Buen código, sigues avanzando con Qt  :). Para la próxima quiero verlo hecho con el Designer  :xD.

Saludos  ;)
En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: [Qt4.6] QtPassGen by. Lord R.N.A.
« Respuesta #3 en: 3 Agosto 2010, 02:56 am »

Pregunta... codificas todo o utilizas QT-Designer?

Me parece bueno tu ejemplo.

codifico todo.

Buen código, sigues avanzando con Qt  :). Para la próxima quiero verlo hecho con el Designer  :xD.

Saludos  ;)

:xD es que con el Designer me aburriria, ademas soy malo diseñando cuando puedo ver como va quedando :xD
En línea

cbug

Desconectado Desconectado

Mensajes: 147



Ver Perfil
Re: [Qt4.6] QtPassGen by. Lord R.N.A.
« Respuesta #4 en: 3 Agosto 2010, 03:16 am »

Igualmente el código está bueno... A mi no me interesa como quede sinceramente, antes que tal vez estar codificando cientos de lineas  :xD
En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: [Qt4.6] QtPassGen by. Lord R.N.A.
« Respuesta #5 en: 3 Agosto 2010, 03:30 am »

Igualmente el código está bueno... A mi no me interesa como quede sinceramente, antes que tal vez estar codificando cientos de lineas  :xD

Asi duro mas y consumo tiempo, casi siempre programo cuando no tengo nada que hacer.
En línea

cbug

Desconectado Desconectado

Mensajes: 147



Ver Perfil
Re: [Qt4.6] QtPassGen by. Lord R.N.A.
« Respuesta #6 en: 3 Agosto 2010, 03:34 am »

 :o pensé que trabajas de esto
En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: [Qt4.6] QtPassGen by. Lord R.N.A.
« Respuesta #7 en: 4 Agosto 2010, 08:25 am »

:o pensé que trabajas de esto

Si me consiguen un trabajo programando con las librerias Qt seria un exito
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
The Lord Of The Rings Online FREE
Juegos y Consolas
Randomize 6 5,507 Último mensaje 19 Enero 2011, 18:28 pm
por Littlehorse
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines