Επιλύθηκε: δημιουργία κωδικού πρόσβασης κατακερματισμού σε js

Το κύριο πρόβλημα με τη δημιουργία ενός κωδικού πρόσβασης κατακερματισμού στο JavaScript είναι ότι είναι εύκολο να το μαντέψει κανείς. Ένας κατακερματισμένος κωδικός πρόσβασης είναι απλώς μια σειρά χαρακτήρων που κατακερματίζεται ή μετατρέπεται σε μοναδικό αριθμό και στη συνέχεια αποθηκεύεται στον υπολογιστή του χρήστη. Όποιος γνωρίζει τον κωδικό πρόσβασης κατακερματισμού μπορεί εύκολα να συνδεθεί στον λογαριασμό του χρήστη χωρίς να χρειάζεται να θυμάται τον πραγματικό κωδικό πρόσβασης.

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

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

var κωδικός πρόσβασης = "";
Αυτή η γραμμή δημιουργεί μια μεταβλητή που ονομάζεται κωδικός πρόσβασης και την ισούται με μια κενή συμβολοσειρά.

var salt = "";
Αυτή η γραμμή δημιουργεί μια μεταβλητή που ονομάζεται salt και την ισούται με μια κενή συμβολοσειρά.

συνάρτηση hashPassword(password, salt) {
var hash = CryptoJS.SHA256(password + salt);
return hash.toString(CryptoJS.enc.Hex);
}
Αυτή η συνάρτηση λαμβάνει δύο παραμέτρους, κωδικό πρόσβασης και salt, και επιστρέφει μια κατακερματισμένη έκδοση του κωδικού πρόσβασης χρησιμοποιώντας τον αλγόριθμο SHA256 και τη μορφή κωδικοποίησης Hex.

Κατακερματισμός κωδικών πρόσβασης

Οι κωδικοί κατακερματισμού είναι ένας τύπος κωδικού πρόσβασης που χρησιμοποιεί μια κρυπτογραφική συνάρτηση κατακερματισμού για να δημιουργήσει έναν μοναδικό κωδικό πρόσβασης για κάθε χρήστη. Μια συνάρτηση κατακερματισμού παίρνει μια συμβολοσειρά εισόδου και παράγει μια συμβολοσειρά εξόδου σταθερού μήκους, που ονομάζεται τιμή κατακερματισμού. Η τιμή κατακερματισμού είναι μοναδική για κάθε συμβολοσειρά εισόδου και δεν σχετίζεται με την αρχική συμβολοσειρά εισόδου.

Για να δημιουργήσετε έναν κωδικό πρόσβασης κατακερματισμού, πρέπει πρώτα να δημιουργήσετε ένα κρυπτογραφικό κατακερματισμό των διαπιστευτηρίων σύνδεσης του χρήστη σας. Μπορείτε να το κάνετε αυτό χρησιμοποιώντας τον αλγόριθμο κατακερματισμού MD5 ή SHA-1, ανάλογα με την πλατφόρμα που χρησιμοποιείτε. Στη συνέχεια, πρέπει να αποθηκεύσετε την τιμή κατακερματισμού σε μια ασφαλή τοποθεσία στον διακομιστή σας. Κάθε φορά που οι χρήστες σας συνδέονται, θα πρέπει να εισάγουν τα διαπιστευτήρια σύνδεσής τους στην εφαρμογή σας και στη συνέχεια να χρησιμοποιούν την τιμή hash για να δημιουργήσουν τον νέο κωδικό πρόσβασής τους.

Εργαστείτε με hashes

Στο JavaScript, οι κατακερματισμοί χρησιμοποιούνται για την αναπαράσταση πινάκων. Για παράδειγμα, ο παρακάτω κώδικας δημιουργεί έναν πίνακα συμβολοσειρών και τον αποθηκεύει σε μια μεταβλητή που ονομάζεται myArray:

myArray = ["a", "b", "c"];

Μπορείτε επίσης να χρησιμοποιήσετε κατακερματισμούς για να αναπαραστήσετε άλλους τύπους δεδομένων. Για παράδειγμα, ο ακόλουθος κώδικας δημιουργεί έναν κατακερματισμό που αποθηκεύει τις τιμές "1" και "2":

hash = { 1: "1", 2: "2" }

Σχετικές αναρτήσεις:

Αφήστε ένα σχόλιο