การสร้างคีย์ scrypt

สร้างคีย์จากรหัสผ่านและซอลต์ด้วย scrypt กำหนดค่า N, r, p และความยาวเอาต์พุต พร้อมเอาต์พุตแบบ hex หรือ base64

การกำหนดค่า
สร้างคีย์จากรหัสผ่านและซอลต์ด้วย scrypt กำหนดค่า N, r, p และความยาวเอาต์พุต พร้อมเอาต์พุตแบบ hex หรือ base64

หน่วยความจำโดยประมาณ: 16 MiB

ซอลต์
ข้อความธรรมดา / ซอลต์แบบสุ่ม / นำเข้าจากไฟล์
คีย์ที่ได้
คีย์ที่ได้สำหรับรหัสผ่าน ซอลต์ และพารามิเตอร์ scrypt ปัจจุบัน
กรอกรหัสผ่านและระบุซอลต์หรือนำเข้าไฟล์เพื่อสร้างคีย์

scrypt คืออะไร?

scrypt เป็นฟังก์ชันสร้างคีย์จากรหัสผ่าน (KDF) ที่ออกแบบให้ใช้หน่วยความจำมาก โดยแปลงรหัสผ่านและซอลต์เป็นไบต์คีย์แบบกำหนดซ้ำได้ พร้อมตั้งใจใช้เวลา CPU และหน่วยความจำ ทำให้การเดารหัสผ่านจำนวนมากมีต้นทุนสูงกว่าการแฮชแบบง่าย

ประเด็นสำคัญ:

  • ใช้ N (ตัวคูณต้นทุน), r (ขนาดบล็อก) และ p (การประมวลผลขนาน)
  • การตั้งค่า N และ r ที่สูงขึ้นจะเพิ่มต้นทุนด้านหน่วยความจำและการคำนวณ
  • ให้คีย์ที่ได้เหมือนเดิมเฉพาะเมื่อรหัสผ่าน ซอลต์ พารามิเตอร์ และความยาวเอาต์พุตตรงกัน

แนวทางที่ดี:

  • ใช้ซอลต์สุ่มที่ไม่ซ้ำกันสำหรับรหัสผ่านหรือความลับแต่ละรายการ
  • เก็บ N, r, p, รูปแบบซอลต์ และความยาวเอาต์พุตไว้คู่กับคีย์ที่ได้
  • ปรับพารามิเตอร์บนอุปกรณ์ที่ช้าที่สุดที่ต้องรองรับก่อนนำไปใช้จริงในโปรดักชัน