Masking Password Dalam C++

berhubung banyak teman yang meminta saya untuk sharing cara masking password dalam C++,
akhirnya saya posting lagi,,,



untuk pengguna internet pasti sudah sering berhadapan dengan form input password, jika anda mengetikan sembarang karakter pada form tersebut pasti langsung berubah menjadi simbol asterik (*), namun bagaimana caranya untuk mmbuat form seperti itu pada pemrograman C++, nah kali ini saya akan membagi caranya,

Anda tau fungsi getch dalam C++ kan? nah inti dari masking ini ada pada fungsi tersebut. Bagi yang belum tahu fungsi getch adalah fungsi untuk membaca input pada keyboard, getch sendiri merupakan kepanjangan dari get character.

Nah, jadi intinya kita mengambil input dari keyboard dengan fungsi getch, lalu memberikan output berupa simbol asterix (*).

sebenarnya saya sudah ada contoh programnya, lihatlah pada gambar di bawah ini:


saya menginputkan kata bintang pada program tersebut, dan keluarnya simbol asterik,
bagaimana? anda penasaran dengan scriptnya?
tenang saja, saya kan baik hati :)
jadi scriptnya saya berikan nih:

#include <stdio>
#include <conio>

main()
{
    char password[32];
   printf("Masukan Password\t= ");
   for (int i=0;i<32;i++)
   {
       password[i]=getch();
      if (password[i]=='\r')
      {
          password[i]=NULL;
         break;
      }
      if (password[i]=='\b')
      {
         if(i!=0)printf("\b \b");
          password[i]=NULL;
         password[i-1]=NULL;
         i-=2;
         if(i<-1)i=-1;
         continue;
      }
      printf("*");
   }
   printf("\nPasswordnya adalah\t= %s",password);
   printf("\nBy Bintang Catur Putra");
   getch();
}

untuk input passwordnya saya beri warna merah tuh,,,

nah berikut untuk penjelasan scriptnya:

      if (password[i]=='\r')
      {
          password[i]=NULL;
         break;
      }

artin script diatas jika yang ditekan enter, maka karakter yang disimpan pada password indeks ke i akan dijadikan NULL (tidak berisi data) dan perulanga akan berhenti

      if (password[i]=='\b')
      {
         if(i!=0)printf("\b \b");
          password[i]=NULL;
         password[i-1]=NULL;
         i-=2;
         if(i<-1)i=-1;
         continue;
      }

arti script diatas jika yang ditekan tombol backspace maka karakter yang disimpan pada password indeks ke i dan i-1 akan dijadikan NULL dan langsung melanjutkan perulangan (statement dibawah statement continue tidak akan dieksekusi)

oke, kali ini cukup segitu saja ya,,,
anda bisa mengembangkan script tersebut, misalnya jika yang ditekan tombol esc atau tombol panah maka statementnya berbeda,,

akhir kata saya mohon maaf jika ada kesalahan,,,
terima kasih...


oh iya,,
untuk source code nya bisa di download pada link di bawah ini
DOWNLOAD
These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Furl
  • Reddit
  • Spurl
  • StumbleUpon
  • Technorati

One Response to this post

  1. Unknown on November 20, 2015 at 5:10 AM

    makasih banyak gan. setelah sekian lama cari cari script password kayak gini, punya agan yang paling bagus dah. tapi ane masih bingung sama scriptnya wkwk.

Leave a comment