แก้ไขแล้ว: สร้างรหัสผ่านแฮชใน js

ปัญหาหลักในการสร้างรหัสผ่านแบบแฮชใน JavaScript คือเดาได้ง่าย รหัสผ่านแบบแฮชเป็นเพียงชุดอักขระที่แฮชหรือแปลงเป็นตัวเลขเฉพาะ แล้วจัดเก็บไว้ในคอมพิวเตอร์ของผู้ใช้ ใครก็ตามที่ทราบรหัสผ่านแฮชสามารถเข้าสู่บัญชีผู้ใช้ได้อย่างง่ายดายโดยไม่ต้องจำรหัสผ่านจริง

var password = "";
var salt = "";

function hashPassword(password, salt) {
    var hash = CryptoJS.SHA256(password + salt);
    return hash.toString(CryptoJS.enc.Hex);
}

รหัสผ่าน var = “”;
บรรทัดนี้สร้างตัวแปรที่เรียกว่ารหัสผ่านและตั้งค่าเท่ากับสตริงว่าง

เกลือ var = “”;
บรรทัดนี้สร้างตัวแปรชื่อเกลือและตั้งค่าเท่ากับสตริงว่าง

ฟังก์ชัน hashPassword (รหัสผ่าน, เกลือ) {
var hash = CryptoJS.SHA256(รหัสผ่าน + เกลือ);
ส่งคืน hash.toString (CryptoJS.enc.Hex);
}
ฟังก์ชันนี้รับพารามิเตอร์สองตัว รหัสผ่านและเกลือ และส่งคืนรหัสผ่านเวอร์ชันแฮชโดยใช้อัลกอริทึม SHA256 และรูปแบบการเข้ารหัส Hex

แฮชรหัสผ่าน

รหัสผ่านแฮชเป็นรหัสผ่านประเภทหนึ่งที่ใช้ฟังก์ชันแฮชเข้ารหัสเพื่อสร้างรหัสผ่านเฉพาะสำหรับผู้ใช้แต่ละคน ฟังก์ชันแฮชรับสตริงอินพุตและสร้างสตริงเอาต์พุตที่มีความยาวคงที่ ซึ่งเรียกว่าค่าแฮช ค่าแฮชจะไม่ซ้ำกันสำหรับแต่ละสตริงอินพุต และไม่เกี่ยวข้องกับสตริงอินพุตดั้งเดิม

ในการสร้างรหัสผ่านแบบแฮช ก่อนอื่นคุณต้องสร้างแฮชแบบเข้ารหัสของข้อมูลรับรองการเข้าสู่ระบบของผู้ใช้ของคุณ คุณสามารถทำได้โดยใช้อัลกอริทึมแฮช MD5 หรือ SHA-1 ขึ้นอยู่กับแพลตฟอร์มที่คุณใช้ ถัดไป คุณต้องจัดเก็บค่าแฮชในตำแหน่งที่ปลอดภัยบนเซิร์ฟเวอร์ของคุณ เมื่อใดก็ตามที่ผู้ใช้ของคุณเข้าสู่ระบบ พวกเขาจะต้องป้อนข้อมูลรับรองการเข้าสู่ระบบลงในแอปพลิเคชันของคุณ จากนั้นใช้ค่าแฮชเพื่อสร้างรหัสผ่านใหม่

ทำงานกับแฮช

ใน JavaScript แฮชถูกใช้เพื่อแสดงอาร์เรย์ ตัวอย่างเช่น โค้ดต่อไปนี้สร้างอาร์เรย์ของสตริงและเก็บไว้ในตัวแปรชื่อ myArray:

myArray = [“ก”, “ข”, “ค”];

คุณยังสามารถใช้แฮชเพื่อแสดงประเภทข้อมูลอื่นๆ ตัวอย่างเช่น รหัสต่อไปนี้สร้างแฮชที่เก็บค่า “1” และ “2”:

แฮช = { 1: “1”, 2: “2” }

กระทู้ที่เกี่ยวข้อง:

แสดงความคิดเห็น