CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - tworzenie hasła

tworzenie hasła

dział ogólny

tworzenie hasła

Nowy postprzez admszczep » czwartek, 15 listopada 2012, 13:15

Witam,
Potrzebuje metody na tworzenie hasła na podstawie dwóch stringów, tak aby tą wartość można było wpisać z klawiatury.
Mam taki kod który już to robi ale generuje mi znaki, które nie zawsze mogę wstawić z klawiatury

KOD cpp:     UKRYJ  
ser->Text = USER->FieldByName("NRSER")->AsString;  //pole edit, do którego wpisuje wartość nr z bazy
pas->Text = ""; //pole edit, w którym zapisuje się wygenerowane hasło

wchar_t Klucz[41];
wchar_t dl[41];

 ser->GetTextBuf( Klucz,40 );
 has->GetTextBuf( dl, 40 ); //has - hasło klucz na podstawie którego tworze pas

 int j = has->GetTextLen();
 int DlKlucza = ser->GetTextLen();

 int iKlucza = 0;
 char x;

  for( int i = 1; i <= j; i++ )
  {
   x = has->Text[i];
   x = x^Klucz[iKlucza];
   pas->Text = pas->Text + x;
   iKlucza++;

  }

   if( iKlucza >= DlKlucza) iKlucza = 0;
  }


może ktoś ma jakąś fajniejszy sposób lub pomoże udoskonalić ten
Avatar użytkownika
admszczep
Homos antropiczny
Homos antropiczny
 
Posty: 66
Dołączył(a): wtorek, 3 listopada 2009, 23:25
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Windows XP PRO SP3
Kompilator: Embarcadero RAD Studio XE
C++Builder XE
Gadu Gadu: 0
    Windows XPFirefox

Re: tworzenie hasła

Nowy postprzez Corvis » czwartek, 15 listopada 2012, 14:00

To ja zapytam odwrotnie, do czego te hasło jest ci potrzebne, że piszesz algorytmy do tego ?
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows 7Chrome

Re: tworzenie hasła

Nowy postprzez admszczep » czwartek, 15 listopada 2012, 14:25

chodzi mi o ustawianie haseł na urządzenia po numerze seryjnym wg przyjętej i zapisanej w programie zasady dla każdego użytkownika standardowo 3 userów admin, user, gość
wtedy kluczem będzie nazwa usera i numer seryjny
Avatar użytkownika
admszczep
Homos antropiczny
Homos antropiczny
 
Posty: 66
Dołączył(a): wtorek, 3 listopada 2009, 23:25
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Windows XP PRO SP3
Kompilator: Embarcadero RAD Studio XE
C++Builder XE
Gadu Gadu: 0
    Windows XPFirefox

Re: tworzenie hasła

Nowy postprzez Cyfrowy Baron » piątek, 16 listopada 2012, 10:38

Dzieje się dlatego, że różnica bitowa czasami może wychodzić w tablicy ASCII poza standardowe znaki. Możesz dodać w kodzie sprawdzanie, czy różnica bitowa daje znaki z zakresu 48-57; 65-90; 97-122. W tym celu możesz dokonywać konwersji zmiennej char x na int i sprawdzać zakres, np:

KOD cpp:     UKRYJ  
for( int i = 1; i <= j; i++ )
  {
   x = has->Text[i];
   x = x^Klucz[iKlucza];

   int y = (int)x;

   if( y /* tutaj jakaś własna funkcja sprawdzająca zakres i zwracająca true/false */ )
   {
       /* jeśli true podstawiasz pod x jakiś znak zastępczy */
   }

   pas->Text = pas->Text + x;
   iKlucza++;

  }
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: tworzenie hasła

Nowy postprzez Corvis » piątek, 16 listopada 2012, 12:28

Cały czas nie kumam tego pomysłu ;) poco automat do haseł robić ?
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows 7Chrome

Re: tworzenie hasła

Nowy postprzez Cyfrowy Baron » piątek, 16 listopada 2012, 12:46

Też tego nie rozumiem, ale widzę to tak: instalujesz sobie program, ten sprawdza numer seryjny jakiegoś urządzenia, użytkownik wprowadza własny ciąg znaków jako hasło. Program przetwarza numer seryjny przez hasło i w ten sposób generuje nowy ciąg znaków który jest przechowywany w bazie danych. Gdy użytkownik loguje się do programu wprowadza własne hasło, program znów je przetwarza przez numer seryjny i wynik porównuje z tym zapisanym w bazie danych, jeżeli się zgadza to program się uruchamia, jeżeli nie to nie uruchamia.

Tylko co jeśli będziesz chciał zalogować się do programu na innym komputerze, lub wymienisz w nim urządzenie. Nie uzyskasz dostępu do programu, więc nie bardzo rozumiem sens takiego szyfrowania hasła...
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: tworzenie hasła

Nowy postprzez admszczep » piątek, 16 listopada 2012, 19:24

Chodzi o urządzenie z automatyki tam nie mogą zmienić numeru seryjnego urządzenia a dobrze byłoby tworzyć hasła wg określonego klucza którego jedną składową jest nr seryjny a drugą poszczególni użytkownicy tworzeni podczas programowania urządzenia oczywiście klient ma też swoje konto ale tamte są w razie w dla serwisu a chodzi oto aby każde urządzenie nie miało jednakowych kluczy
Avatar użytkownika
admszczep
Homos antropiczny
Homos antropiczny
 
Posty: 66
Dołączył(a): wtorek, 3 listopada 2009, 23:25
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Windows XP PRO SP3
Kompilator: Embarcadero RAD Studio XE
C++Builder XE
Gadu Gadu: 0
    Windows XPFirefox

Re: tworzenie hasła

Nowy postprzez Cyfrowy Baron » sobota, 17 listopada 2012, 00:16

Zrób więc jak napisałem wcześniej.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox


Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 3 gości