Kamis, 11 Desember 2014

Merubah Inputan Password di C++ menjadi Karakter Rahasia

13 komentar :
Sebelumnya, karena ini adalah postingan pertama saya di blog ini, olehnya saya meminta tanggapan dari sobat tentang postingan ini. Kiranya dalam potingan ini ada hal-hal yang kurang baik dan perlu perbaikan, silahkan kirimkan saran sobat melalui comment atau DM facebook atau G+.

Untuk potingan perdana ini, saya akan memberikan tutorial Bagaimana supaya Input Password di C++ berubah menjadi secret character atau bintang-bintang atau minimal gambarnya ke' gini.

****
atau 
xxxx

Inputan password mungkin dibutuhkan ketika kita ingin membuat program login, mungkin di ATM dan sebagainya. Yah, supaya programnya mirip-mirip program professional, heheh. Sebelumnya buka dulu code editor dan compilernya, biar bisa langsung comot codenya.

Tambahkan header berikut
tambahkan perintah berikut di dalam fungsi "int main()"


keterangan sourcecode:  
  1. password != 13   ? 13 merupakan kode karakter enter, dengan ini pengimputan akan terhenti ketika unser menekan enter.  
  2. cout << "*"  ?  karakter "*" dapat diganti dengan karakter apapun, bisa "x", dll.

Untuk membatasi jumlah karakter yang diinputkan sobat bisa tambahkan perintah di dalam kondisi while, kodenya menjadi



Nb. Code diatas tentu saja belumlah bisa di-compile, sehingga sobat harus melengkapi dengan kode lain agar bisa di compile. Kalau ada masalah langsung komen aja sob.
Previewnya:



Nb. Some of my friends comment about the given code above, they said that they couldn't erase the printed character they have written. Cause' of that reason, i would find solution and i have got some fix. Here it is..

Kodenya bukan saya mengedit kode yang ada, namun saya share code baru untuk memasukkan secret character.

#include <iostream>
#include <windows.h>
#include "conio.h"
using namespace std;

int main()
{
    char c;
    string password;
    cout << "Enter your password: ";
    while(c != '\r') //Loop until 'Enter' is pressed
    {
        c = getch();
        if(c == '0')
         {
            switch(getch())
              {
              default:
                  break;            
            };
        }
     else if(c == '\b')   //If the 'Backspace' key is pressed
        {
        if(password.size() != 0)  //If the password string contains data, erase last character
           {
           cout << "\b \b";
           password.erase(password.size() - 1, 1);
           }
        continue;
        }
     else if(c <= '9' && c >= '0' || c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') 
        {
        password += c;
        cout << "*";
        }
     else
        continue;
     }    

    return 0;
}
 


Sekian dulu postingan kali ini, semoga bermanfaat(ayb).

13 komentar :

  1. mas maksudnya apa ya itu yang if(c == '0')
    kenapa perlu kode itu? si user kenapa nggak boleh tekan 0 ?

    terima kasih mas../\

    BalasHapus
    Balasan
    1. Komentar ini telah dihapus oleh pengarang.

      Hapus
    2. Kode itu sebenarnya hanya sy share aja mas, kode c=='0' tidak ngaruh jadi bisa dihilangin aja. Toh jika tetap dimasukkan jg, ada kondisi dibawahnya yg mengizinkan nilai 0. thanks

      Hapus
  2. Mas kalo itu maksudnya include "conio.h" apa ya mas?

    BalasHapus
    Balasan
    1. Komentar ini telah dihapus oleh pengarang.

      Hapus
    2. Seperti yang kita lihat di program, saya menggunakan _getch() untuk mengambil inputan password dari pengguna. Nah, untuk menggunakan fungsi _getch() tadi harus memanggil header conio.h karena ia berada dalam header conio.h. Semoga jelas ya.

      Hapus
  3. CSino | Slots & Casinos 2021 - Shoot'Em Casino
    Learn link 12bet everything you need to know about CS:GO 카지노 gambling including bonuses, live 온라인카지노 dealer casino, games & much more!

    BalasHapus