เอาล่ะ ไปที่ขั้นตอนแรกของเราในการสร้างตัวตรวจสอบรหัสผ่านที่ปลอดภัยของเรา
ตอนนี้ในนี้ ฉันมีเช็ค แฟ้มหนังสือเดินทางของฉัน
คุณสามารถทำเช่นเดียวกัน
แล้วผมก็มีเทอร์มินัลตรงนี้
สิ่งที่เราต้องทำคือนำเข้าโมดูลคำขอในขั้นต้น
หากคุณยังไม่มี คุณสามารถติดตั้งโมดูลคำขอได้
โมดูลคำขอจะช่วยให้เราสามารถส่งคำขอได้
ดังนั้น จำไว้ว่า มันเหมือนกับการมีเบราว์เซอร์ที่ไม่มีเบราว์เซอร์จริงๆ
เราสามารถร้องขอบางสิ่งได้ด้วยตนเองราวกับว่าเรามีเบราว์เซอร์และเราได้รับข้อมูลบางส่วนกลับคืนมา
วิธีที่เราสามารถใช้โมดูลคำขอกับ API รหัสผ่านได้จริงคือเราสามารถมี URL API ของรหัสผ่านได้
ซึ่งฉันจะบอกคุณว่ามันคืออะไร
มันคือ https
Colin slash slash API โพสต์รหัสผ่าน
ดอทคอม
แล้วเราให้สแลชเป็นช่วง
และนี่คือที่ที่เราให้รหัสผ่าน
เราก็ทำได้แค่บวก
ตอนนี้เรามาทำกัน
รหัสผ่าน.
หนึ่งสองสาม.
นั่นคือ URL ที่เราจะใช้
ขอทำให้เล็กกว่านี้หน่อยแบบนั้น
ในที่นี้ เราจะได้รับการตอบสนองโดยการทำตามคำขอ
รับจุด
และลองพิมพ์ดูว่าจะเกิดอะไรขึ้น
ถ้าฉันบันทึกและเรียกใช้โปรแกรมนี้ และจำไว้ว่าเรายังไม่สามารถพิมพ์รหัสผ่านได้ ดังนั้นเรามาเปิดไฟล์กันเถอะ
เอาล่ะ เราได้รับบางอย่าง แต่ดูเหมือนว่ามีข้อผิดพลาด
และนั่นเป็นเพราะฉันทำ https
ง้อฉัน.
แต่อีกครั้งฉันต้องการแสดงให้คุณเห็นว่า
ใช่ตรงนี้
ฉันสามารถอ่านข้อผิดพลาดและดูเหมือนว่าเป็นสคีมาที่ไม่ถูกต้อง
ไม่มีอะแดปเตอร์เชื่อมต่อสำหรับ https ที่ดี
ดังนั้นถ้าเราเรียกใช้อีกครั้ง
ไม่เป็นไร.
ดูเหมือนว่ามันจะได้ผล
ไม่มีข้อผิดพลาด
แต่ลองพิมพ์ออกมาดูว่าทำไมเราจึงได้รับคำตอบจากการพิมพ์
และฉันจะเรียกใช้สิ่งนี้
และเราได้รับคำตอบ 400
อืม.
ตอนนี้ผลตอบรับหรือ 400 ไม่ดี
โดยปกติแล้วจะหมายถึงไม่ได้รับอนุญาตหรือมีบางอย่างไม่ถูกต้องกับ API
ตอนนี้รหัสตอบกลับเหล่านี้คือสิ่งที่เราจะพูดถึงในส่วนการพัฒนาเว็บของหลักสูตร
แต่มันหมายความว่า 400 ไม่ดี
เราต้องการคำตอบ 200
200 หมายถึง
ตกลง.
และสาเหตุที่เป็นเช่นนี้ก็เพราะว่านี่ไม่ใช่วิธีที่ API ทำงานจริง
คุณเห็นที่นี่เราเพิ่งให้รหัสผ่าน
แต่วิธีการทำงานของ API นี้ก็คือใช้สิ่งที่เรียกว่าการแฮช
เมื่อกี้หมายความว่าไง?
ฉันจะรวมบทเรียนโบนัสหลังจากบทเรียนนี้ เพื่อให้คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับการแฮช
แต่ฉันมีเว็บไซต์นี้ที่ฉันจะเชื่อมโยง และมาทำให้มันใหญ่ขึ้นอีกหน่อย
หวังว่าคุณจะเห็นว่ามันเป็นตัวสร้างแฮช SHA1
ตอนนี้กำลังแฮชรหัสผ่าน
เป็นสิ่งที่คุณควรทำเสมอ
สมมติว่าคุณกำลังบันทึกรหัสผ่านของผู้ใช้
สู่ฐานข้อมูล
คุณไม่ควรเก็บรหัสผ่านของผู้ใช้ในสิ่งที่เราเรียกว่าข้อความธรรมดา
นั่นคือสิ่งที่รหัสผ่านเป็น
เราต้องการทำสิ่งที่เรียกว่าแฮชแทน
นั่นคือเรียกใช้ผ่านอัลกอริธึมการแฮชเพื่อให้พูดไม่ชัด
ดังนั้นเมื่อฉันทำรหัสผ่าน สอง หนึ่ง สอง สามที่นี่ และฉันคลิก สร้าง และเลื่อนลงมา
นี่คือรหัสผ่านที่แฮช
โปรดสังเกตว่าเมื่อฉันเปลี่ยนรหัสผ่านนี้ การเปลี่ยนแปลงนี้ก็เปลี่ยนไปเช่นกัน
แต่สิ่งสำคัญที่นี่และนี่คือสิ่งที่เราจะพูดถึงในวิดีโอโบนัสนั้นคือการแฮชเป็นฟังก์ชันทางเดียว
ดังนั้นจึงมีอัลกอริธึมการแฮชที่แตกต่างกันมากมาย มีห้าว่างเปล่า มี
SHA สอง ห้า หก เรากำลังใช้ SHA อันหนึ่งเพราะนี่คือสิ่งที่ API นี้ใช้ และ SHA อันหนึ่งก็แค่แฮช
เป็นอัลกอริธึมที่เป็นฟังก์ชันที่ใช้แสดงรหัสผ่านที่ไม่ชัดเจน
หนึ่งสองสาม.
แต่ไม่ว่าเราจะสร้างรหัสผ่าน 1 ถึง 3 กี่ครั้ง มันก็จะเป็นแฮชเดียวกันเสมอ
ด้วยวิธีนี้ เราจะสามารถตรวจสอบได้จริง ๆ ว่ามีใครพิมพ์รหัสผ่านหรือไม่ และเรามีรหัสผ่านเวอร์ชันที่แฮชอยู่แล้ว
และสมมติว่าเป็นฐานข้อมูล เราสามารถเปรียบเทียบเวอร์ชันที่แฮชของรหัสผ่านนี้กับฐานข้อมูลได้
รหัสผ่านที่แฮช
อีกครั้งอย่าสับสนเกินไปที่นี่
หวังว่าในวิดีโอโบนัสนั้น เราจะอธิบายเพิ่มเติมอีกเล็กน้อย
แต่สิ่งสำคัญคือ API นี้ เนื่องจากเราต้องการรักษาความปลอดภัยให้มากที่สุด คือ เราไม่ต้องการส่งรหัสผ่านจริงของเราผ่านสาย
เราต้องการส่งรหัสผ่านเวอร์ชันที่แฮชนี้แทน
ถ้าฉันคัดลอกและวางไว้ตรงนี้ นี่คือสิ่งที่เราควรส่งไปยัง API
แต่นี่คือปัญหา
สิ่งนี้ยังคงไม่ปลอดภัยอย่างยิ่งเพราะใครๆ ก็เข้ามาได้ในขณะนี้และพิมพ์และคาดเดาต่อไป
คาดเดาต่อไป คาดเดาต่อไป และในที่สุดก็กดรหัสผ่าน 1 ถึง 3 แล้วดูว่า โอ้ แฮชนี้เหมือนกับแฮชนี้แน่นอน
จะได้รู้ว่านี่คือรหัสผ่านของเรา
ดังนั้น API นี้จึงใช้เทคนิคที่เรียกว่า K anonymity และนี่เป็นเทคนิคสมัยใหม่ที่บริษัทใหญ่ๆ อย่าง Google,
Facebook, Netflix, Amazon ใช้กันหมด
การไม่เปิดเผยตัวตนของ K ช่วยให้ใครบางคนได้รับข้อมูลเกี่ยวกับเรา แต่ยังไม่รู้ว่าเราเป็นใคร
มันทำงานอย่างไร?
อย่างไรก็ตาม นี่เป็นเทคนิคที่ใช้กันมาก โดยเฉพาะอย่างยิ่งตอนนี้ ที่ซึ่งการใช้ข้อมูลส่วนบุคคลของบริษัท
เป็นการดีที่คุณไม่ต้องการให้ข้อมูลส่วนบุคคลของคุณกับบริษัท
ดังนั้นบางบริษัทที่ให้ความสำคัญกับความปลอดภัยและความเป็นส่วนตัวจึงใช้การไม่เปิดเผยตัวตนนี้เพื่อติดตามคุณ แต่ยังไม่รู้ว่าคุณเป็นใคร
ทีนี้ วิธีการทำงาน
คือเราให้เฉพาะอักขระห้าตัวแรกของรหัสผ่านแฮชของเรา
หนึ่ง สอง สาม สี่ ห้า
ดังนั้นหากฉันลบสิ่งนี้ สิ่งที่ API นี้จะทำคือ มันมีรายการรหัสผ่านทั้งหมดที่รั่วไหลออกมา
อย่างไรก็ตาม รหัสผ่านทั้งหมดจะถูกแฮชด้วยอัลกอริทึม SHA one
มันจะดูในฐานข้อมูลของรหัสผ่านเหล่านี้ และเลือกรหัสผ่านที่แฮชทั้งหมดที่มีอักขระห้าตัวแรกที่ตรงกับรหัสผ่านนี้
ด้วยวิธีนี้ ด้วยการตอบสนอง เราจะได้รับรหัสผ่านทั้งหมดที่แฮชซึ่งมีสิ่งนี้ เพื่อที่เมื่อเราได้รับคำตอบนั้น
เราจะสามารถตรวจสอบฟังก์ชันแฮชที่เหลือได้
ด้วยวิธีนี้ API นี้จะไม่รู้จักแฮชแบบเต็มของเรา ดังนั้นจึงไม่สามารถเดารหัสผ่านของเราได้
พวกเขาจะรู้ว่าเรามีฟังก์ชันแฮชเล็กน้อยที่สามารถจับคู่รหัสผ่านหลายร้อยรายการ
มันเจ๋งแค่ไหน?
ดังนั้นถ้าฉันบันทึกและเรียกใช้จริง
ฉันได้รับคำตอบ 200
สุดยอด.
ไม่เป็นไร.
พักสักหน่อย เรียนรู้เพิ่มเติมเล็กน้อยเกี่ยวกับการแฮช แล้วพบกันใหม่ในวิดีโอหน้า
ลาก่อน.