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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  LOGIN CON CONTRASEÑA CIFRADA CON EL USO DE CLASES HEREDADAS (en desarrollo)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: LOGIN CON CONTRASEÑA CIFRADA CON EL USO DE CLASES HEREDADAS (en desarrollo)  (Leído 1,340 veces)
Elias Flores

Desconectado Desconectado

Mensajes: 13



Ver Perfil
LOGIN CON CONTRASEÑA CIFRADA CON EL USO DE CLASES HEREDADAS (en desarrollo)
« en: 14 Diciembre 2018, 18:39 pm »

Hola foro ya estoy devuelta por aqui y con un nuevo tema tengo una presentacion de este login en c++ para una tarea el ejercicio consiste en crear un login con encriptacion de la contraseña, la cual se la incripta por llevando la contraseña a un vector y el vector se multiplica con una matriz que nosotros eligamos en este caso la matriz es {{1,2,1},{0,-1,3},{2,1,0}} en el codigo dejo la matriz definida ya que nunca cambia solo el vector tiene que ser de 3 elementos si o si para poder multiplicar por la matriz, si ponemos un contraseña mas grande igual tenemos que llevarla a vector pero luego hay que cortar el vector en vectores de 3 elementos. todo esto debe ser diseñado con el uso de clase y herencia. estuve resolviendo este ejercicio por con la ayuda de getters y setters para los metodos de la clase pero me quede hasta donde tengo que heredar el atributo contraseña para poder usar el metodo cifrado de la clase cifrado alguien podria darme una mano con el tema de la herencia de la contraseña luego de hay todo es mas facil dejo mi 2 codigos uno con herencia y otro sin herencia HELP!!!!!! T_T T_T T_T
Código
  1. //lOGIN SIN HERRENCIA
  2. #include<iostream>
  3. #include<windows.h>
  4. #include <fstream>
  5. #include<stdlib.h>
  6. #include<conio.h>
  7. #define MAX 4
  8. #define MIN 1
  9. using namespace std;
  10. char nombre1[10];
  11. char apellido1[10];
  12. char contrasenia1[100];
  13. char cargo1[100];
  14. char cumpleanio1[100];
  15. char nombretxt[100];
  16. void borrar_pantalla();
  17. typedef char matriz[3][3];
  18. typedef char alfabeto[27];
  19. //typedef char palabra [100];
  20. class Registro_Usuario{
  21. public://atributos
  22. string nombre,apellido,contrasenia,cargo,fecha_nacimiento;
  23. public://metodos
  24. Registro_Usuario();//constructor de la clase
  25. ~Registro_Usuario();//destuctor de la clase
  26. void setregistro(string,string,string,string,string);
  27. string getregistronombre();
  28. string getregistroapellido();
  29. string getregistrocontrasenia();
  30. string getregistrocargo();
  31. string getregistrofecha_nacimiento();
  32. };
  33. //constructor, nos sirve para inicializar los atributos
  34. Registro_Usuario::Registro_Usuario(){
  35. }
  36. //destructor de la clase
  37. Registro_Usuario::~Registro_Usuario(){
  38. }
  39. //establecemos los valores a los atributos
  40. void Registro_Usuario::setregistro(string _nombre, string _apellido, string _contrasenia, string _cargo, string _fecha_nacimiento){
  41. nombre = _nombre;
  42. apellido = _apellido;
  43. contrasenia = _contrasenia;
  44. cargo = _cargo;
  45. fecha_nacimiento = _fecha_nacimiento;
  46. cout<<"\n\tEscriba el nombre de usuario: ";
  47. gets(nombretxt);
  48. fstream archivo;
  49. archivo.open(nombretxt,ios::out);
  50. if(archivo.bad()){
  51. cout<<"Mary te AMO <3";
  52. exit(1);
  53. }
  54. archivo<<"BIENVENIDO A PROVIDENCIA "<<nombre1<<endl;
  55. archivo<<"Nombre y Apellido: "<<apellido1<<endl;
  56. archivo<<"Contraseña: "<<contrasenia<<endl;
  57. archivo<<"cargo: "<<cargo1<<endl;
  58. archivo<<"cumpleaños: "<<cumpleanio1<<endl;
  59. archivo.close();
  60. }
  61. string Registro_Usuario::getregistronombre(){
  62. return nombre;
  63. }
  64. string Registro_Usuario::getregistroapellido(){
  65. return apellido;
  66. }
  67. string Registro_Usuario::getregistrocontrasenia(){
  68. return contrasenia;
  69. }
  70. string Registro_Usuario::getregistrocargo(){
  71. return cargo;
  72. }
  73. string Registro_Usuario::getregistrofecha_nacimiento(){
  74. return fecha_nacimiento;
  75. }
  76. class cifrado : public Registro_Usuario{
  77. private://atributos
  78. string contrasenia;
  79. public://metodos
  80. cifrado();// contructor de la clase cifrado
  81. ~cifrado();
  82. void setcifrado(string);
  83. string getcifradocontrasenia();
  84. };
  85. //contructor de la clase cifrado
  86. cifrado::cifrado(){
  87. }
  88. //destructor de la clase
  89. cifrado::~cifrado(){
  90. }
  91. //establecemos valores a los atributos
  92. void cifrado::setcifrado(string _contrasenia){
  93. contrasenia = _contrasenia;
  94. alfabeto alf = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','Ñ','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
  95. matriz m = {{1,2,1},{0,-1,3},{2,1,0}};
  96. int longitud = 0;
  97. }
  98. string cifrado::getcifradocontrasenia(){
  99. return contrasenia;
  100. }
  101. int main(){
  102. const int tam = 4 ;
  103. int opcion_menu;
  104. char caracter;
  105. int i = 0;
  106. cout <<endl<<endl<< "\t\t\t    BIENVENIDOS A PROVIDENCIA" << endl<<endl<<endl;
  107. cout << "------------------------------------------------------------------------------------------------------------------------------------" << endl;
  108. cout << "\t\t\t|1. Ingresar como Usuario    |" << endl;
  109. cout << "\t\t\t|2. Registrarse              |" << endl;
  110. cout << "\t\t\t|3. Ingrersar como Visitante |" << endl;
  111. cout << "\t\t\t|4. Salir del Programa.      |"  << endl;
  112. cout << "------------------------------------------------------------------------------------------------------------------------------------\n" << endl;
  113. cout << " Introduzca Opcion:  ";
  114. cin >> opcion_menu;
  115. if((opcion_menu==1)||(opcion_menu==2)||(opcion_menu==3)||(opcion_menu==4)){
  116. if(opcion_menu==2){
  117. system("cls");
  118. Sleep(1000);
  119. cout<<endl<<endl<<"\n\tBienvenido a PROVIDENCIA: \n";//INGRESAR COMO USUARIO"
  120. gets(nombre1);
  121. cout<<"\n\tDigite su Nombre y Apellido: ";//INGRESAR COMO USUARIO"
  122. gets(apellido1);
  123. cout<<"\n\tDigite su contrasenia: ";//INGRESAR COMO USUARIO"
  124. while (caracter=getch()){
  125. if(caracter==13){
  126. contrasenia1[i]='\0';
  127. break;
  128. }else if (caracter==8){
  129. i--;
  130. cout<<("\b \b");
  131. }else
  132. cout<<("*");
  133. contrasenia1[i]=caracter;
  134. i++;
  135. }
  136. cout<<endl<<"\n\tDigite su Cargo: ";//INGRESAR COMO USUARIO"
  137. gets(cargo1);
  138. cout<<"\n\tDigite su Fecha de nacimineto: ";//INGRESAR COMO USUARIO"
  139. gets(cumpleanio1);
  140. Sleep(1000);    //SEGUNDO Y MEDIO QUE DURA LA PANTALLA, SE PUEDE AUMENTAR EL TIEMPO EN MILISEGUNDOS :v
  141.                 system("cls"); //LIMPIA TODO  
  142.                 main();
  143.                }
  144. if (opcion_menu==4){
  145. system("cls");  
  146. cout<<endl<<(" El Programa CERRARA en Cualquier Momento"); Sleep(3000);
  147. exit(0);
  148. }
  149. }
  150. if((opcion_menu<MIN)||(opcion_menu>MAX)){        
  151. try {        
  152. system("cls");
  153.             cout<<"\n\n\t  ============================\n"
  154.                 <<"\n\n\t | ESTA OPCION  ES INCORRECTA |\n"
  155.                 <<"\n\n\t  ============================\n";
  156.                 Sleep(1000);    //SEGUNDO Y MEDIO QUE DURA LA PANTALLA, SE PUEDE AUMENTAR EL TIEMPO EN MILISEGUNDOS :v
  157.                 system("cls"); //LIMPIA TODO  
  158.                 main();//Y VUELVE AL MENÚ
  159.     }
  160.   catch(...)
  161. {cout << "\n UN ERROR HA OCURRIDO " << endl;}
  162. }
  163. switch (opcion_menu){
  164. case 2:
  165. Registro_Usuario usuario;
  166. cifrado codificar;
  167. codificar.setcifrado(contrasenia1);
  168. usuario.setregistro(nombre1,apellido1,contrasenia1,cargo1,cumpleanio1);
  169. break;
  170. }
  171. getch();
  172. return 0;
  173. }
  174. /*void verificar_existencia_de_usuario(string nuevo_usuario)
  175. {
  176.     ifstream archivo(string nuevo_usuario);
  177.     if (!archivo)
  178.     {
  179.              cout<<"\n Nombre de Usuario DISPONIBLE\n"<<endl;Sleep(2500);
  180.              }
  181.              else
  182.              {
  183.              cout<<"\n Este Nombre de Usuario ya Existe.....INTENTELO DE NUEVO"<<endl; Sleep(2500); borrar_pantalla();main();      
  184.              }  
  185. }
  186. /*void Ingresar_PASS(password){
  187. char caracter;
  188. int i = 0;
  189.  
  190. cout << " Escriba su Nuevo PASS:                 " ;
  191. while (caracter=getch()){
  192. if(caracter==13){
  193. break;
  194. }else if (caracter==8){
  195. i--;
  196. cout<<("\b \b");
  197. }else
  198. cout<<("*");
  199. p.PASS[i]=caracter;
  200. i++;
  201. }
  202. cout<<"\n SE HA REGISTRADO CORRECTAMENTE"<<endl; Sleep(2500);
  203. }*/
  204. void borrar_pantalla()
  205. {
  206. system("CLS");
  207. }


« Última modificación: 14 Diciembre 2018, 22:14 pm por Elias Flores » En línea

Elias Flores

Desconectado Desconectado

Mensajes: 13



Ver Perfil
Re: LOGIN CON CONTRASEÑA cifrada CON EL USO DE CLASES HEREDADAS (en desarrollo)
« Respuesta #1 en: 14 Diciembre 2018, 18:42 pm »

Código
  1. // LOGIN CON HERENCIA
  2. #include<iostream>
  3. #include<windows.h>
  4. #include <fstream>
  5. #include<stdlib.h>
  6. #include<conio.h>
  7. #define MAX 4
  8. #define MIN 1
  9. using namespace std;
  10. char nombre1[10];
  11. char apellido1[10];
  12. char contrasenia1[100];
  13. char cargo1[100];
  14. char cumpleanio1[100];
  15. char nombretxt[100];
  16. void borrar_pantalla();
  17. char vector1[4];
  18. typedef char matriz[3][3];
  19. class Registro_Usuario{
  20. public://atributos
  21. string nombre,apellido,contrasenia,cargo,fecha_nacimiento;
  22. public://metodos
  23. Registro_Usuario();//constructor de la clase
  24. ~Registro_Usuario();//destuctor de la clase
  25. virtual void setregistro(string,string,string,string,string);
  26. string getregistronombre();
  27. string getregistroapellido();
  28. string getregistrocontrasenia();
  29. string getregistrocargo();
  30. string getregistrofecha_nacimiento();
  31. };
  32. //constructor, nos sirve para inicializar los atributos
  33. Registro_Usuario::Registro_Usuario(){
  34. }
  35. //destructor de la clase
  36. Registro_Usuario::~Registro_Usuario(){
  37. }
  38. //establecemos los valores a los atributos
  39. void Registro_Usuario::setregistro(string _nombre, string _apellido, string _contrasenia, string _cargo, string _fecha_nacimiento){
  40. nombre = _nombre;
  41. apellido = _apellido;
  42. contrasenia = _contrasenia;
  43. cargo = _cargo;
  44. fecha_nacimiento = _fecha_nacimiento;
  45. cout<<"\n\tEscriba el nombre de usuario: ";
  46. gets(nombretxt);
  47. fstream archivo;
  48. archivo.open(nombretxt,ios::app);
  49. if(archivo.bad()){
  50. cout<<"Mary te AMO <3";
  51. exit(1);
  52. }
  53. archivo<<"BIENVENIDO A PROVIDENCIA "<<nombre1<<endl;
  54. archivo<<"Nombre y Apellido: "<<apellido1<<endl;
  55. archivo<<"Contraseña: "<<contrasenia<<endl;
  56. archivo<<"cargo: "<<cargo1<<endl;
  57. archivo<<"cumpleaños: "<<cumpleanio1<<endl;
  58. archivo.close();
  59. }
  60. string Registro_Usuario::getregistronombre(){
  61. return nombre;
  62. }
  63. string Registro_Usuario::getregistroapellido(){
  64. return apellido;
  65. }
  66. string Registro_Usuario::getregistrocontrasenia(){
  67. return contrasenia;
  68. }
  69. string Registro_Usuario::getregistrocargo(){
  70. return cargo;
  71. }
  72. string Registro_Usuario::getregistrofecha_nacimiento(){
  73. return fecha_nacimiento;
  74. }
  75. class cifrado : public Registro_Usuario{
  76. private://atributos
  77. string vector;
  78. public://metodos
  79. cifrado(string,string,string,string,string,string);// contructor de la clase cifrado
  80. ~cifrado();
  81. void setregistro();
  82. };
  83. //contructor de la clase cifrado
  84. cifrado::cifrado(string _nombre, string _apellido, string _contrasenia, string _cargo, string _fecha_nacimiento, string _vector):Registro_Usuario(){
  85. vector = _vector;
  86. }
  87. //destructor de la clase
  88. cifrado::~cifrado(){
  89. }
  90. void cifrado::setregistro(){
  91. float v [3];
  92. float r [3];
  93. int longitud = 0;
  94. }
  95. int main(){
  96. matriz m = {{1,2,1},{0-1,3},{2,1,0}};
  97. const int tam = 4 ;
  98. int opcion_menu;
  99. char caracter;
  100. int i = 0;
  101. cout <<endl<<endl<< "\t\t\t    BIENVENIDOS A PROVIDENCIA" << endl<<endl<<endl;
  102. cout << "------------------------------------------------------------------------------------------------------------------------------------" << endl;
  103. cout << "\t\t\t|1. Ingresar como Usuario    |" << endl;
  104. cout << "\t\t\t|2. Registrarse              |" << endl;
  105. cout << "\t\t\t|3. Ingrersar como Visitante |" << endl;
  106. cout << "\t\t\t|4. Salir del Programa.      |"  << endl;
  107. cout << "------------------------------------------------------------------------------------------------------------------------------------\n" << endl;
  108. cout << " Introduzca Opcion:  ";
  109. cin >> opcion_menu;
  110. if((opcion_menu==1)||(opcion_menu==2)||(opcion_menu==3)||(opcion_menu==4)){
  111. if(opcion_menu==2){
  112. system("cls");
  113. getch();
  114. cout<<endl<<endl<<"\n\tBienvenido a PROVIDENCIA: \n";//INGRESAR COMO USUARIO"
  115. gets(nombre1);
  116. cout<<"\n\tDigite su Nombre y Apellido: ";//INGRESAR COMO USUARIO"
  117. gets(apellido1);
  118. cout<<"\n\tDigite su contrasenia: ";//INGRESAR COMO USUARIO"
  119. while (caracter=getch()){
  120. if(caracter==13){
  121. contrasenia1[i]='\0';
  122. break;
  123. }else if (caracter==8){
  124. i--;
  125. cout<<("\b \b");
  126. }else
  127. cout<<("*");
  128. contrasenia1[i]=caracter;
  129. i++;
  130. }
  131. cout<<endl<<"\n\tDigite su Cargo: ";//INGRESAR COMO USUARIO"
  132. gets(cargo1);
  133. cout<<"\n\tDigite su Fecha de nacimineto: ";//INGRESAR COMO USUARIO"
  134. gets(cumpleanio1);
  135. }
  136. if (opcion_menu==4){
  137. system("cls");  
  138. cout<<endl<<(" El Programa CERRARA en Cualquier Momento"); Sleep(3000);
  139. exit(0);
  140. }
  141. }
  142. if((opcion_menu<MIN)||(opcion_menu>MAX)){        
  143. try {        
  144. system("cls");
  145.             cout<<"\n\n\t  ============================\n"
  146.                 <<"\n\n\t | ESTA OPCION  ES INCORRECTA |\n"
  147.                 <<"\n\n\t  ============================\n";
  148.                 Sleep(1000);    //SEGUNDO Y MEDIO QUE DURA LA PANTALLA, SE PUEDE AUMENTAR EL TIEMPO EN MILISEGUNDOS :v
  149.                 system("cls"); //LIMPIA TODO  
  150.                 main();//Y VUELVE AL MENÚ
  151.     }
  152.   catch(...)
  153. {cout << "\n UN ERROR HA OCURRIDO " << endl;}
  154. }
  155. switch (opcion_menu){
  156. case 2:
  157. Registro_Usuario usuario;
  158. cifrado codificar;
  159. //codificar.setcifrado(nombre1,apellido1,contrasenia1,cargo1,cumpleanio1,vector1);
  160. usuario.setregistro(nombre1,apellido1,contrasenia1,cargo1,cumpleanio1);
  161. break;
  162. }
  163. getch();
  164. return 0;
  165. }
  166. /*void verificar_existencia_de_usuario(string nuevo_usuario)
  167. {
  168.     ifstream archivo(string nuevo_usuario);
  169.     if (!archivo)
  170.     {
  171.              cout<<"\n Nombre de Usuario DISPONIBLE\n"<<endl;Sleep(2500);
  172.              }
  173.              else
  174.              {
  175.              cout<<"\n Este Nombre de Usuario ya Existe.....INTENTELO DE NUEVO"<<endl; Sleep(2500); borrar_pantalla();main();      
  176.              }  
  177. }
  178. /*void Ingresar_PASS(password){
  179. char caracter;
  180. int i = 0;
  181.  
  182. cout << " Escriba su Nuevo PASS:                 " ;
  183. while (caracter=getch()){
  184. if(caracter==13){
  185. break;
  186. }else if (caracter==8){
  187. i--;
  188. cout<<("\b \b");
  189. }else
  190. cout<<("*");
  191. p.PASS[i]=caracter;
  192. i++;
  193. }
  194. cout<<"\n SE HA REGISTRADO CORRECTAMENTE"<<endl; Sleep(2500);
  195. }*/
  196. void borrar_pantalla()
  197. {
  198. system("CLS");
  199. }


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Re: [Ayuda] ¿Como se puede saber en que algoritmo está cifrada una contraseña?
Dudas Generales
avmiitxe 1 2,623 Último mensaje 6 Mayo 2011, 03:26 am
por jesusarturoes
clases heredadas
Java
Pirat3net 4 2,346 Último mensaje 7 Diciembre 2011, 00:16 am
por Pirat3net
Login seguro para desarrollo web
Seguridad
vctr89 0 2,578 Último mensaje 16 Agosto 2013, 18:29 pm
por vctr89
Averiguar contraseña cifrada
Hacking
Migue883 2 2,967 Último mensaje 18 Noviembre 2013, 15:55 pm
por Migue883
Nube cifrada | Que contraseña utilizar y donde mantenerla
Seguridad
patilanz 0 1,835 Último mensaje 9 Diciembre 2017, 02:40 am
por patilanz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines