Thuật toán sinh để sinh ra các mật khẩu cho rainbow table

Bài tập toán rời rạc thực chiến như sau:

Liệt kê tất cả các mật khẩu dài 7 kí tự có cả chữ thường, chữ in hoa, chữ số từ 0 đến 9 và các kí tự đặc biệt như !@#$%^&*().

Nếu bạn muốn lập trình tạo bảng rainbow table để dò mật khẩu và lập trình sinh ra các mật khẩu có thể có thì mời bạn mua khóa học sau:

Chú ý trong mật khẩu các kí tự chữ hoa, chữ thường, chữ số hay kí tự đặc biệt có thể lặp lại liền nhau nên thuật toán sinh từ hoán vị hay kết hợp như trong sách toán rời rạc dưới là không đủ, cần phải phát triển lên thêm.

DevSecOps thực chiến – Ansible Automation thực chiến – Lập trình thực chiến – An toàn Thông tin thực chiến


Trong môn toán rời rạc thường có 1 chương riêng về các phương pháp đếm nói cho sang mồm, cao siêu hơn là đại số tổ hợp.

Các phương pháp đếm như tổ hợp, chỉnh hợp không quá khó và được học từ thời cấp 3 chứ không phải đợi tới lúc học công nghệ thông tin hay nói cho sang mồm là khoa học máy tính ở cấp đại học mới được học.

Các phương pháp đếm giúp chúng ta biết trước được 1 cách nhanh gọn lẹ số lượng dữ liệu hay số lượng kết quả của 1 bài toán tin học nào đó.

Nhưng cuộc đời lập trình máy tính không đơn giản như vậy, đếm được số lượng kết quả nhiều lúc dễ dàng hơn rất nhiều so với việc liệt kê ra đầy đủ các kết quả.

Nên phần lớn các sách toán rời rạc có thể thêm 1 nội dung nữa đó là phương pháp sinh để liệt kê ra đầy đủ các kết quả không dư, không thiếu 1 trường hợp nào.

Thuật toán sinh có ứng dụng trong tin học vì nó là 1 phương pháp giúp chúng ta có hướng lập trình để nhờ máy liệt kê ra tất cả các dữ liệu có thể có.


Cơm thêm

Các sách toán rời rạc nổi tiếng được nhiều người coi là

Discrete Mathematics and Its Applications của Kenneth H. Rosen đã in và chỉnh sửa, thêm mới nội dung tới lần thứ 8 theo thông tin sách đang bán trên Amazon.

Sách được dịch sang tên tiếng Việt là Toán rời rạc ứng dụng trong tin học do dịch giả Phạm Văn Thiều dịch dựa trên bản gốc tiếng Anh năm 1994.

Trong sách Discrete Mathematics and Its Applications 8th tác giả có viết ở phần 6.6 về sinh ra các hoán vị và kết hợp (Generating Permutations and Combinations) được tách riêng thành Generating Permutations và Generating Combinations.

Toán rời rạc của Nguyễn Đức Nghĩa, Nguyễn Tô Thành đã in lần thứ 8, 9, 10 gì rồi, chương 2 nói về bài toán đếm có phần phương pháp hàm sinh.