Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Đọc vào password in ra kí tự (*) !

  1. #1
    Ngày gia nhập
    03 2008
    Bài viết
    2

    Wink Đọc vào password in ra kí tự (*) !

    có bác nào biết cách ẩn mật mã không
    ý em là khi các bác đánh chữ, nó chỉ hiện lên màn hình các dấu * thôi á
    Chú ý cách đặt tiêu đề phản ánh rõ ý nghĩa câu hỏi, 1 bài đầu sữa lại dùm thôi nhá
    Đã được chỉnh sửa lần cuối bởi rox_rook : 25-03-2008 lúc 01:28 AM.

  2. #2
    Ngày gia nhập
    10 2007
    Bài viết
    169

    Bạn thử cái này xem!
    C++ Code:
    1. #include "Stdio.h"
    2. #include "Conio.h"
    3.  
    4. void main()
    5. {
    6.     clrscr();
    7.     printf("Input password : ");
    8.     const int nPassChar = 10;
    9.     int Index = 0;
    10.     char pass[nPassChar];
    11.     pass[0] = '\0';
    12.     char c;
    13.     int OriginX = wherex();
    14.     while((c = getch()) != 13)
    15.     {
    16.         if(c == 8)
    17.         {
    18.             if(wherex() == OriginX) continue;
    19.             gotoxy(wherex() - 1,wherey());
    20.             --Index;
    21.             pass[Index] = '\0';
    22.             printf(" ");
    23.             gotoxy(wherex() - 1,wherey());
    24.             continue;   // Backspace
    25.         }
    26.         printf("*");
    27.         pass[Index++] = c;
    28.         if(Index >= nPassChar) break;
    29.     }
    30.     printf("\nPassword : %s",pass);
    31.     getch();
    32. }
    Đã được chỉnh sửa lần cuối bởi RadicalLight : 24-03-2008 lúc 04:45 PM. Lý do: thêm

  3. #3
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Mặc định Chuyển các kí tự input thành (*)!

    Try this, much safer and it's C++'s advantages over C.
    C++ Code:
    1. #include <sstream>
    2. #include <iostream>
    3. #include <string>
    4. #include <conio.h>
    5.  
    6. bool read_password_from_user(std::string &str)
    7. {
    8.     str = "";
    9.     while(1){
    10.         char ch = getch();
    11.         if(ch == 13)    
    12.             return false; // Enter key, abort
    13.         str += ch;
    14.         std::cout << "*" << std::flush; //show star(*)
    15.         return true; //done reading from user
    16.     }
    17. }
    18.  
    19. int main()
    20. {
    21.     std::string charpwd;
    22.     std::string user_password;
    23.     char key_strokes;
    24.     while(read_password_from_user(charpwd))
    25.     {
    26.         std::istringstream iss(charpwd, std::istringstream::in);
    27.         iss >> key_strokes;
    28.         user_password += key_strokes;
    29.     }
    30.     std::cout << "\n\nShow password [y, n] ?\n";
    31.     std::cin >> key_strokes;
    32.     if(key_strokes == 'y'){
    33.         std::cout << user_password << '\n';
    34.     }
    35.     return 0;
    36. }

  4. #4
    Ngày gia nhập
    03 2008
    Bài viết
    2

    bài của bác radical em chạy sao nó cứ cho thêm ký tự lạ vào là sao vậy

  5. #5
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Cậu muốn hỏi C hay C++ ? Xài compiler nào ?

Các đề tài tương tự

  1. Điều kiện kiểm tra khi change password?
    Gửi bởi vitusodo trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 20-07-2011, 09:39 AM
  2. Lỗi mô phỏng hàm password trong C
    Gửi bởi JayChou trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 23-04-2010, 11:40 AM
  3. Bài tập C++ Nhập vào password và kiểm tra
    Gửi bởi aspire91 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 12-04-2010, 11:33 AM
  4. Cách lưu giữ Password
    Gửi bởi duckvn trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 4
    Bài viết cuối: 04-09-2009, 09:16 AM
  5. [C++] Help - Tạo và phá password
    Gửi bởi tuyetton trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 12-11-2006, 08:45 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn