Một câu hỏi thú vị mà nhiều người dùng thường đặt ra: Tại sao khi điện thoại ở chế độ máy bay, không có mạng, nhưng mã xác thực (OTP) vẫn trùng khớp hoàn toàn với máy chủ đặt tại nước ngoài? Thực tế, quá trình này không dựa trên sự giao tiếp trực tiếp giữa điện thoại và máy chủ tại thời điểm sinh mã. Bí mật nằm ở một thuật toán có tên gọi là TOTP (Time-based One-Time Password) . 1. Khởi tạo: Giao thức "Bắt tay" ban đầu Mọi thứ bắt đầu từ mã QR bạn quét khi thiết lập 2FA lần đầu tiên. Mã QR này thực chất chứa một Khóa bí mật (Secret Key) . Thiết bị cá nhân: Khi bạn quét mã, ứng dụng (Google Authenticator, Microsoft Authenticator...) sẽ lưu trữ Secret Key này vào bộ nhớ an toàn trên máy. Máy chủ (Server): Đồng thời, Server cũng lưu trữ chính xác mã khóa đó trong hồ sơ tài khoản của bạn. Bảo mật: Sau khi quá trình thiết lập hoàn tất, Secret Key sẽ được ẩn đi vĩnh viễn để đảm bảo tính an toàn. 2. Nguyên lý đồng bộ hóa độc lập Để tạo ra dãy 6 chữ số định kỳ mỗi 30 giây, cả ứn...
Phụ lục: Core Widgets involved The basics Tìm hiểu sâu về Custom Paint Làm thế nào để tạo một Custom Painter? Breaking down the paint method StartAngle và scanAngle là gì? Kết quả cuối cùng Conclusion ( Phần kết luận ) Tuyên bố từ chối trách nhiệm: Tôi nghĩ rằng tôi thêm điều này chỉ trong trường hợp một số người nhầm lẫn. Hình ảnh là hình ảnh được cắt và widget thực tế chỉ là phần hình tròn chứ không phải hình chữ nhật với các góc tròn. Xin chào! Hôm nay, tôi sẽ trình bày một điều gì đó mà tôi đã gặp phải gần đây trong một dự án mà tôi nghĩ rằng tôi sẽ chia sẻ những gì tôi đã học được và hy vọng các bạn cũng có thể học hỏi từ nó! Tôi sẽ hướng dẫn cách tạo chỉ báo tiến trình tùy chỉnh. Đây là một ví dụ về những gì tôi đang đề cập đến: Đối với blog này, tôi cho rằng bạn có kiến thức cơ bản về các tiện ích Flutter và sẽ không đi sâu vào chi tiết mọi thứ. Custom Paint sẽ là trọng tâm chính ở đây. Ngoài ra, trước khi tôi đi sâu vào vấn đề này, vui lòng kiểm tra dự án tôi đang thực hi...