30/09/2018, 16:00

Cách tạo mật khẩu trong C++

tạo 1 mật khẩu gồm 8 kí tự,trong đó có cả chữ và số,k có các kí tự đặc biệt?
ai giúp e làm bài này với ạ

Trần Trí Dũng viết 18:11 ngày 30/09/2018

mình nghĩ thế này nhá … bạn phải mã hóa các kí tự

Hồ Sỹ Đức viết 18:16 ngày 30/09/2018

là sao anh???

Trần Trí Dũng viết 18:09 ngày 30/09/2018

tức là bạn phải có một bảng hoặc 1 cách mã hóa nào đó … vd nhá … bạn biết bảng chữ cái đó … người ta có 1 cách mã hóa chẳng hạn như dịch các chữ lùi 3 cái … tức là chữ a tương đương với chữ d … chữ b tương đương với chữ e v.v…v và còn rất nhiều cách mã hóa …

Đỗ Trung Quân viết 18:07 ngày 30/09/2018

mật khẩu gồm 8 kí tự,trong đó có cả chữ và số,k có các kí tự đặc biệt?

Nhập vào 1 chuỗi, duyệt chuỗi thỏa mãn 3 điều kiện đề bài.

Trần Trí Dũng viết 18:10 ngày 30/09/2018

bạn ấy chưa hiểu cách làm 1 cái mật khẩu … còn cái kia chỉ là duyệt thì có gì đâu … cứ xét 1 chuỗi cho nó chạy theo 1 mảng … sau đó kiểm tra … quan trọng là cách bạn mã hóa các kí tự đó … đó mới là quan trọng và cách bạn duyệt cái dãy kí tự đó theo cái cách mã hóa

Đỗ Trung Quân viết 18:01 ngày 30/09/2018

quan trọng là cách bạn mã hóa các kí tự đó … đó mới là quan trọng và cách bạn duyệt cái dãy kí tự đó theo cái cách mã hóa

Với bài nhập mật khẩu thì mình nghĩ chỉ quan trọng bước kiểm tra mật khẩu có đúng quy định hay không. Còn in ra màn hình thay vì hiển thị đúng ký tự thì chỉ việc in ra " * "
Không hiểu mã hóa của bạn ở đây là gì, ý bạn nói đến thuật toán như bài toán của ông xêsờra chiến tranh la mã hả, k cần dùng trong TH này.!!!

buithaiminh viết 18:02 ngày 30/09/2018

Mình chỉ thuật toán cho bạn tự làm:

Khai báo 1 chuỗi gồm: 0-9
Khai báo 1 chuỗi gồm: a-z
Khai báo 1 chuỗi gồm: A-Z
Chạy vòng lặp 8 lần
Tạo 1 biến int x cho random 0-2
Tạo 1 biến int y cho random 0-9
Tạo 1 biến int z cho random 0-25
Nếu x = 0 thì lấy ký tự thứ y trong chuỗi 0-9
Nếu x = 1 thì lấy ký tự thứ z trong chuỗi a-z
Nếu x = 2 thì lấy ký tự thứ z trong chuỗi A-Z

Nguyễn Duy Khánh viết 18:07 ngày 30/09/2018

mình làm theo ý bác này cho chủ top tham khảo

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

int main()
{
    char c=0,x[20];
    int i = 0;
    cout << "PASS:";
    while(1) {
        c = getch();
        if (c == 13) {
            break;
        } else {
            x[i++] = c;
            cout << "*" ;
        }
    }
    x[i] = '\0';
    if (strcmp(x , "abc") == 0)
        cout << endl << "Successful!";
    else
        cout << endl << "Failure!";
    getch();
    return 0;
}

thay ‘abc’ thành bất cứ gì bạn muốn đặt pass, trừ phím Enter nhé

buithaiminh viết 18:17 ngày 30/09/2018

Continuing the discussion from C++ tạo mật khẩu:

Mình chỉ thuật toán cho bạn tự làm:

Khai báo 1 chuỗi gồm: 0-9
Khai báo 1 chuỗi gồm: a-z
Khai báo 1 chuỗi gồm: A-Z
Chạy vòng lặp 8 lần
Tạo 1 biến int x cho random 0-2
Tạo 1 biến int y cho random 0-9
Tạo 1 biến int z cho random 0-25
Nếu x = 0 thì lấy ký tự thứ y trong chuỗi 0-9
Nếu x = 1 thì lấy ký tự thứ z trong chuỗi a-z
Nếu x = 2 thì lấy ký tự thứ z trong chuỗi A-Z

Code python theo thuật toán mình nêu trên cho bạn tham khảo. Đọc thuật toán rồi chuyển sang C++ bạn muốn. Theo cách này thì không cần duyệt lại chuỗi.

__author__ = 'buithaiminh'
import random
digit = '0123456789'
lowerchar = 'abcdefghijklmnopqrstuvwxyz'
upperchar = lowerchar.upper()
password = ''
for i in range(1, 9):
    x = random.randint(0, 2)
    y = random.randint(0, 9)
    z = random.randint(0, 25)
    if x == 1:
        password += digit.split()[0][y]
    elif x == 2:
        password += lowerchar.split()[0][z]
    else:
        password += upperchar.split()[0][z]
print password
Nguyễn Minh Dũng viết 18:04 ngày 30/09/2018

@btm mới học python mà thực hành cũng chuẩn quá. Cú pháp python nhanh gọn lẹ quá đúng không. Chắc phải dành ít thời gian ra làm video hướng dẫn python sớm quá. Không có btm giành mất phần.

buithaiminh viết 18:09 ngày 30/09/2018

Tại hồi mẫu giáo có được học sơ sơ Python rồi.

Hồ Sỹ Đức viết 18:01 ngày 30/09/2018

anh chuyển qua C++ giúp e đc với k ạ,nhìn cái đó e thấy khó hiểu quá :)) nếu đc thì dùng printf với scanf chư đừng dùng cin cout nha a,cảm ơn a @btm

Bài liên quan
0