Được rồi, hãy bắt đầu bước đầu tiên của chúng tôi để xây dựng trình kiểm tra mật khẩu an toàn của chúng tôi.
Bây giờ ở đây, tôi có séc, hồ sơ hộ chiếu của tôi.
Bạn cũng có thể làm như vậy.
Và sau đó tôi có thiết bị đầu cuối của mình ngay tại đây.
Những gì chúng tôi muốn làm ban đầu là nhập mô-đun yêu cầu.
Nếu bạn chưa có, thì bạn có thể cài đặt mô-đun yêu cầu.
Mô-đun yêu cầu sẽ cho phép chúng tôi thực hiện một yêu cầu.
Vì vậy, hãy nhớ rằng, nó giống như có một trình duyệt mà không có trình duyệt thực tế.
Chúng tôi chỉ có thể yêu cầu một cái gì đó theo cách thủ công như thể chúng tôi có một trình duyệt và chúng tôi lấy lại một số dữ liệu.
Vì vậy, cách chúng ta thực sự có thể sử dụng mô-đun yêu cầu với API mật khẩu là chúng ta có thể có URL API mật
khẩu, mà tôi sẽ chỉ cho bạn biết nó là gì.
Đó là https.
Colin gạch chéo mật khẩu bài đăng API.
Chấm com.
Và sau đó chúng tôi cung cấp cho nó một dấu gạch chéo.
Và ở đây, đây là nơi chúng tôi cung cấp mật khẩu cho nó.
Vì vậy, chúng tôi chỉ có thể làm cộng.
Và bây giờ chúng ta hãy làm.
Mật khẩu.
Một hai ba.
Vì vậy, đó là URL mà chúng tôi sẽ sử dụng.
Hãy làm cho cái này nhỏ hơn một chút như vậy.
Bây giờ ở đây, chúng tôi sẽ nhận được phản hồi bằng cách thực hiện các yêu cầu.
Chấm nhận được.
Và chúng ta hãy nhập nó vào và xem điều gì sẽ xảy ra.
Nếu tôi lưu và chạy chương trình này và nhớ rằng, chúng tôi chưa có khả năng nhập mật khẩu, vì
vậy hãy chạy tệp.
Được rồi, chúng tôi nhận được một cái gì đó, nhưng nó có vẻ như là một lỗi.
Và đó là bởi vì tôi đã https.
Tôi ngớ ngẩn quá.
Nhưng một lần nữa, tôi muốn cho bạn thấy điều đó.
Vâng, ngay tại đây.
Tôi có thể đọc các lỗi và có vẻ như đó là một giản đồ không hợp lệ.
Không có bộ điều hợp kết nối cho https tốt.
Vì vậy, nếu chúng tôi chạy lại.
Được rồi.
Có vẻ như nó đã hoạt động.
Không có lỗi.
Nhưng chúng ta hãy in nó ra để xem tại sao chúng ta nhận được phản hồi in như vậy.
Và tôi sẽ chạy nó.
Và chúng tôi đã nhận được phản hồi 400.
Hừ!
Bây giờ một phản hồi hoặc 400 là không tốt.
Thông thường, điều đó có nghĩa là trái phép hoặc điều gì đó không đúng với API.
Bây giờ những mã phản hồi này là thứ mà chúng ta sẽ xem xét trong phần phát triển Web của khóa học.
Nhưng nó chỉ có nghĩa là 400 là không tốt.
Chúng tôi muốn phản hồi là 200.
200 nghĩa là.
Được chứ.
Và lý do điều này xảy ra là bởi vì đây không phải là cách API thực sự hoạt động.
Bạn thấy ở đây, chúng tôi chỉ cung cấp cho nó một mật khẩu.
Nhưng cách thức hoạt động của API này là nó sử dụng một thứ gọi là băm.
Vậy thì giờ điều đó có nghĩa là gì?
Tôi sẽ bao gồm một bài học bổ sung sau bài học này để bạn có thể tìm hiểu thêm một chút về băm.
Nhưng tôi có ở đây trang web này mà tôi sẽ liên kết đến, và hãy làm cho nó lớn hơn một chút.
Hy vọng rằng bạn có thể thấy đó là một trình tạo băm SHA1.
Bây giờ băm một mật khẩu.
Đó là điều mà bạn nên luôn làm.
Giả sử bạn đang lưu mật khẩu của người dùng.
Đến một cơ sở dữ liệu.
Bạn không bao giờ nên lưu trữ mật khẩu của người dùng trong cái mà chúng tôi gọi là bản rõ.
Đó chính xác là mật khẩu.
Thay vào đó, chúng tôi muốn làm một cái gì đó gọi là băm nó.
Đó là, chạy nó thông qua một thuật toán băm để làm cho nó trở nên vô nghĩa.
Vì vậy, khi tôi nhập mật khẩu hai, một, hai, ba ở đây và tôi nhấp vào tạo và tôi cuộn xuống.
Đây là mật khẩu được băm.
Lưu ý ở đây rằng khi tôi thay đổi mật khẩu này, mật khẩu này cũng thay đổi theo.
Nhưng mấu chốt ở đây và đây là điều mà chúng ta sẽ nói đến trong video thưởng đó là băm là một
hàm một chiều.
Vì vậy, có nhiều thuật toán băm khác nhau, có các fives trống, có SHA hai, năm, sáu,
chúng tôi đang sử dụng SHA một vì đây là những gì API này đang sử dụng và SHA một về cơ bản chỉ là băm.
Đó là một thuật toán là một hàm thực hiện đầu ra mật khẩu vô nghĩa này.
Một hai ba.
Nhưng cho dù chúng ta tạo mật khẩu từ 1 đến 3 bao nhiêu lần, thì mật khẩu đó sẽ luôn là cùng một hàm băm.
Vì vậy, bằng cách này, chúng tôi thực sự có thể kiểm tra xem ai đó nhập mật khẩu và chúng tôi đã có phiên bản băm của mật khẩu
và giả sử là một cơ sở dữ liệu, chúng tôi thực sự có thể so sánh phiên bản băm của mật khẩu này với
cơ sở dữ liệu.
Mật khẩu được băm.
Một lần nữa, đừng quá bối rối ở đây.
Hy vọng rằng trong video thưởng đó, chúng tôi sẽ đề cập đến vấn đề này nhiều hơn một chút.
Nhưng điều quan trọng là API này, vì chúng tôi muốn càng an toàn càng tốt, nên chúng tôi không
muốn gửi qua đường dây mật khẩu thực của mình.
Thay vào đó, chúng tôi muốn gửi phiên bản mật khẩu đã băm này của mình.
Vì vậy, nếu tôi sao chép nó và đặt nó ở đây, thì đây là những gì chúng ta nên gửi tới API.
Nhưng đây là vấn đề.
Điều này vẫn không phải là siêu an toàn vì bất kỳ ai cũng có thể đến ngay bây giờ và nhập
và tiếp tục đoán, tiếp tục đoán, tiếp tục đoán và cuối cùng nhấn vào mật khẩu 1 đến 3 và xem, ồ, hàm băm này giống hệt như hàm
băm này.
Vì vậy, họ sẽ biết rằng đây là mật khẩu của chúng tôi.
Vì vậy, API này sử dụng một kỹ thuật gọi là K ẩn danh và đây thực sự là một kỹ thuật hiện đại mà các công
ty lớn như Google, Facebook, Netflix, Amazon đều sử dụng.
K ẩn danh cho phép ai đó nhận được thông tin về chúng tôi nhưng vẫn không biết chúng tôi là ai.
Cái này hoạt động ra sao?
Nhân tiện, đây thực sự là một kỹ thuật được sử dụng rất nhiều, đặc biệt là bây giờ, nơi sử dụng dữ liệu
cá nhân cho các công ty, nó bị khó chịu.
Vì vậy, lý tưởng nhất là bạn không muốn cung cấp thông tin cá nhân của mình cho các công ty.
Vì vậy, một số công ty quan tâm đến bảo mật và quyền riêng tư sử dụng tính năng ẩn danh này để theo dõi bạn, nhưng vẫn không
biết bạn là ai.
Bây giờ, cách này hoạt động.
Đó là chúng tôi chỉ cung cấp năm ký tự đầu tiên của mật khẩu băm của chúng tôi.
Vì vậy, một, hai, ba, bốn, năm.
Vì vậy, nếu tôi loại bỏ điều này, những gì API này sẽ làm là nó có một danh sách tất cả các mật khẩu đã bị
rò rỉ.
Tuy nhiên, tất cả các mật khẩu đó đều được băm bằng thuật toán SHA một.
Vì vậy, nó sẽ tìm trong cơ sở dữ liệu của tất cả các mật khẩu này và chọn tất cả các mật khẩu được băm có năm ký
tự đầu tiên khớp với mật khẩu này.
Vì vậy, theo cách này, với phản hồi, chúng tôi sẽ nhận được tất cả các mật khẩu được băm có điều này để
cuối cùng, khi chúng tôi nhận được phản hồi đó, chúng tôi có thể kiểm tra phần còn lại của hàm băm.
Bằng cách này, API này sẽ không bao giờ biết được toàn bộ hàm băm của chúng ta và do đó không bao giờ có thể đoán được mật khẩu của
chúng ta.
Họ sẽ chỉ biết rằng chúng ta có một hàm băm nhỏ này có thể khớp với bất kỳ hàng trăm mật khẩu nào.
Làm thế nào là mát đó là?
Vì vậy, nếu tôi thực sự lưu nó và chạy.
Tôi nhận được phản hồi là 200.
Đáng kinh ngạc.
Được rồi.
Hãy cùng nghỉ ngơi, tìm hiểu thêm một chút về băm và hẹn gặp lại các bạn trong video tiếp theo.
Tạm biệt.