Forum: Hjälp med lösen!!

Forum huvudsida -> Programmering -> Hjälp med lösen!!

Sidor: 1

Till botten

jla 13:05 - 29:e Juni 2009 | Post #1
Medlem
Inlägg: 18


Skicka PM
Hej alla!!

Jag vet hur man gör ett lösen program men skulle vilja kunna göra så att man bara ser
  • när man skriver in lösenordet.

Tack på förhand!

/jla




martin310 13:38 - 29:e Juni 2009 | Post #2
Medlem
Inlägg: 132


Skicka PM
Språk?

-------------------------

Hjälp jorden med Granola, det är gratis och funkar på både Windows och Linux, och försämrar inte datorns prestandad!





jla 13:49 - 29:e Juni 2009 | Post #3
Medlem
Inlägg: 18


Skicka PM
Oj förlåt glömde skriva det, c++.




FunkyChicken 15:33 - 29:e Juni 2009 | Post #4
Nyhetsredaktör
Inlägg: 800


Skicka PM
,,r det ett konsolprogram vi pratar om?
Läs in en knapptryckning i taget, spara undan den och skriv ut en stjärna på skärmen.




jla 17:28 - 29:e Juni 2009 | Post #5
Medlem
Inlägg: 18


Skicka PM
Tack, fick det att funka:
  1. #include <iostream>
  2. #include <string>
  3. #include <conio.h>
  4. using namespace std;
  5. int main(){
  6. string pass ="";
  7. char ch;
  8. cout << "Enter pass\n";
  9. ch = _getch();
  10. while(ch != 13){
  11. pass.push_back(ch);
  12. cout << '*';
  13. ch = _getch();
  14. }
  15. if(pass == "argetlam"){
  16. cout << "\nAccess granted :P\n";
  17. }else{
  18. cout << "\nAccess aborted...\n";
  19. }
  20. system("PAUSE>nul");
  21. return 0;
  22. }



Senast redigerad 17:41 - 29:e Juni 2009


jla 12:01 - 2:a Juli 2009 | Post #6
Medlem
Inlägg: 18


Skicka PM
Hej igen.

Som ni säkert ser så kan man se vilket lösenord jag har i programmet, men finns det något sätt att typ gömma det i en fil eller nåt??

Tack på förhand!

/jla




Vitdom 00:15 - 3:e Juli 2009 | Post #7
Medlem
Inlägg: 71


Skicka PM
    Citat av jla:
Hej igen.

Som ni säkert ser så kan man se vilket lösenord jag har i programmet, men finns det något sätt att typ gömma det i en fil eller nåt??

Tack på förhand!

/jla

Ja, man kan gömma ett lösenord i en fil. Kolla programmet nedan.

Programmet ger utskriften "The Password!".

Det programmet gör är att den skapar en fil, skriver massa slumptecken överallt och gömmer lösenordet krypterat bland alla slumptecken. Det första tecknet är ett krypterat teckenvärde som beskriver vart lösenordet börjar i filen.(OBS, konstanten RANDOM_FILE_CHARACTERS får INTE vara större än 254 då det kan bli buggar p.g.a att ett ASCII tecken bara kan ha 256 värden.)

Sedan letas lösenordet upp igen och avkrypteras och skrivs sedan ut på skärmen.

  1. #include <iostream>
  2. #include <fstream>
  3. #include <ctime>
  4.  
  5. #define RANDOM_FILE_CHARACTERS 254 // 254 stycken slumptecken ska skrivas i filen
  6.  
  7. using namespace std;
  8.  
  9. void writePassFile(ofstream &myfile, const char *password)
  10. {
  11. int n = 0; // i = positionen i filen, n = antal slumptecken skrivna
  12.  
  13. char passPos = rand() % (RANDOM_FILE_CHARACTERS + 1) + 1; // Lösenordsinformationen börjar på position 1 - 255 i filen
  14. bool carry = passPos & 1;
  15. myfile.put(passPos >> 1 | (carry?0x80:0)); // Skriv var lösenordet och dess längdinformation börjar först i filen, krypterat
  16.  
  17. for(int i = 1; i < passPos; i++, n++) // Fyll ointressanta teckenpositioner innan lösenordet med slumptecken
  18. myfile.put(rand() % 256);
  19.  
  20. for(int j = 0; password[j]; j++) // Skriv lösenordet till filen, krypterat
  21. {
  22. carry = password[j] & 1;
  23. myfile.put(password[j] >> 1 | (carry?0x80:0));
  24. }
  25.  
  26. for(; n < RANDOM_FILE_CHARACTERS; n++) // Fyll ointressanta teckenpositioner efter lösenordet med slumptecken
  27. myfile.put(rand() % 256);
  28. }
  29. char* readPassFile(ifstream &myfile)
  30. {
  31. char passPos;
  32. int passLength; // Längden på öäsenordet
  33.  
  34. myfile.get(passPos); // Hämta och avkryptera positonen av lösenordet
  35. bool carry = passPos & 0x80;
  36. passPos = passPos << 1 | (carry?1:0);
  37.  
  38. myfile.seekg(0, ios_base::end); // Räkna ut längden av lösenordet
  39. passLength = (int)myfile.tellg() - RANDOM_FILE_CHARACTERS - 1;
  40. myfile.seekg(passPos, ios_base::beg); // Gå till lösenordet
  41.  
  42. char *password = new char[passLength + 1]; // Allokera minne för lösenordet
  43. for(int i = 0; i < passLength; i++) // Läs och avkryptera lösenordet
  44. {
  45. myfile.get(password[i]);
  46. carry = password[i] & 0x80;
  47. password[i] = password[i] << 1 | (carry?1:0);
  48. }
  49. password[passLength] = '\0';
  50.  
  51. return password;
  52. }
  53.  
  54. int main()
  55. {
  56. ofstream myfileOut;
  57. ifstream myfileIn;
  58.  
  59. srand(time(NULL)); // Skapa slumpfrö
  60.  
  61. myfileOut.open("passfile.txt"); // -ppna ny fil
  62. writePassFile(myfileOut, "The Password!"); // Skriv ny fil
  63. myfileOut.close(); // Stäng utfilen
  64.  
  65. myfileIn.open("passfile.txt"); // -ppna vår fil
  66. char *password = readPassFile(myfileIn); // Läs lösenordet
  67. myfileIn.close(); // Stäng infilen
  68.  
  69. cout << password; // Skriv ut lösenordet
  70. delete[] password;
  71. cin.get();
  72.  
  73. return 0;
  74. }


-------------------------





Vitdom 00:46 - 3:e Juli 2009 | Post #8
Medlem
Inlägg: 71


Skicka PM
Hmm, det verkar som att det finns en bugg i min kod, ska försöka kolla det idag.

Ignorera ovanstående inlägg av mig. Här är en ny fungerande kod.

Ja, man kan gömma ett lösenord i en fil. Kolla programmet nedan.

Programmet ger utskriften "Hidden pASSWORD!?".

Det programmet gör är att den skapar en fil, skriver massa slumptecken överallt och gömmer lösenordet krypterat bland alla slumptecken. Det första tecknet är ett krypterat teckenvärde som beskriver vart lösenordet börjar i filen.(OBS, konstanten RANDOM_FILE_CHARACTERS får INTE vara större än 254 då det kan bli buggar p.g.a att ett ASCII tecken bara kan ha 256 värden.)

Sedan letas lösenordet upp igen och dekrypteras och skrivs sedan ut på skärmen.

http://www.pastebin.org/51


Här är koden implementerad i ditt program:
http://www.pastebin.org/53

Denna kod förutsätter att det redan finns en fil "passfile.txt" av rätt format. Kör den första koden för att generera en sådan fil.

-------------------------



Senast redigerad 16:44 - 3:e Juli 2009


jla 19:30 - 5:e Juli 2009 | Post #9
Medlem
Inlägg: 18


Skicka PM
Tack så J,,TTEMYCKET!!!!

Men hur väljer du lösenordet.

/jla


Senast redigerad 19:32 - 5:e Juli 2009


FunkyChicken 19:47 - 5:e Juli 2009 | Post #10
Nyhetsredaktör
Inlägg: 800


Skicka PM
    Citat av Vitdom:

Kör den första koden för att generera en sådan fil.





Vitdom 21:28 - 5:e Juli 2009 | Post #11
Medlem
Inlägg: 71


Skicka PM
Precis, kör den första koden för att generera en sådan fil. (http://www.pastebin.org/51)

I den första koden finns det i main funktionen en sats där det står
"writePassFile(myfileOut, "Hidden pASSWORD!?"); // Write new file"
ändra strängen "Hidden pASSWORD!?" för att ändra lösenordet som göms i filen. Den kan innehålla vilka tecken som helst(ASCII) och vara hur långt som helst.Smiley

-------------------------



Senast redigerad 21:29 - 5:e Juli 2009


jla 09:55 - 6:e Juli 2009 | Post #12
Medlem
Inlägg: 18


Skicka PM
OK, tack.




Sidor: 1

Forum huvudsida -> Programmering -> Hjälp med lösen!!
Atom feed

Du får inte posta i den här tråden | Till toppen