1. Επισκόπηση της κρυπτογράφησης MD5
Ο αλγόριθμος Message Digest MD5 (κινεζικά γνωστός ως Message Digest Algorithm 5th Edition) είναι μια συνάρτηση κατακερματισμού που χρησιμοποιείται ευρέως στον τομέα της ασφάλειας υπολογιστών για την παροχή προστασίας της ακεραιότητας των μηνυμάτων. Ο αριθμός αρχείου για αυτόν τον αλγόριθμο είναι RFC 1321 (R.Rivest, MIT Laboratory for Computer Science and RSA Data Security Inc., Απρίλιος 1992).
Το MD5 σημαίνει Message-Digest Algorithm 5, ο οποίος χρησιμοποιείται για τη διασφάλιση της πλήρους και συνεπούς μετάδοσης πληροφοριών. Είναι ένας από τους αλγόριθμους κατακερματισμού που χρησιμοποιούνται ευρέως από υπολογιστές (γνωστός και ως αλγόριθμος σύνοψης και αλγόριθμος κατακερματισμού) και οι κύριες γλώσσες προγραμματισμού έχουν γενικά υλοποίηση MD5. Ο υπολογισμός δεδομένων (όπως κινεζικοί χαρακτήρες) σε μια άλλη τιμή σταθερού μήκους είναι η βασική αρχή του αλγορίθμου κατακερματισμού και το MD5 ήταν ο προκάτοχος των MD2, MD3 και MD4. Ο αλγόριθμος MD5 έχει τα ακόλουθα χαρακτηριστικά: 1. Συμπιεστότητα: Το μήκος της υπολογιζόμενης τιμής MD5 είναι σταθερό για οποιοδήποτε μήκος δεδομένων. 2. Εύκολος υπολογισμός: Είναι εύκολο να υπολογιστεί η τιμή MD5 από τα αρχικά δεδομένα. 3. Αντίσταση τροποποίησης: Οποιεσδήποτε αλλαγές γίνουν στα αρχικά δεδομένα, ακόμη και αν τροποποιηθεί μόνο 1 byte, η τιμή MD5 που λαμβάνεται θα είναι πολύ διαφορετική. 4. Ισχυρή αντίσταση σύγκρουσης: Τα αρχικά δεδομένα και η τιμή MD5 είναι γνωστά και είναι πολύ δύσκολο να βρεθούν δεδομένα με την ίδια τιμή MD5 (δηλαδή, πλαστά δεδομένα). Η λειτουργία του MD5 είναι να επιτρέπει τη «συμπίεση» μεγάλων ποσοτήτων πληροφοριών σε εμπιστευτική μορφή (δηλαδή, τη μετατροπή μιας συμβολοσειράς byte αυθαίρετου μήκους σε δεκαεξαδική συμβολοσειρά ορισμένου μήκους πριν υπογράψει το ιδιωτικό κλειδί με λογισμικό ψηφιακής υπογραφής). Εκτός από το MD5, τα πιο διάσημα περιλαμβάνουν τα sha-1, RIPEMD και Haval.
Το MD5 είναι ένας αλγόριθμος ασύμμετρης κρυπτογράφησης (ΥΓ: συμμετρική κρυπτογράφηση σημαίνει ότι ο κωδικός πρόσβασης που χρησιμοποιείται για την κρυπτογράφηση και ο κωδικός πρόσβασης που χρησιμοποιείται για την αποκρυπτογράφηση είναι οι ίδιοι και ασύμμετρος σημαίνει ότι το κλειδί που χρησιμοποιείται για την κρυπτογράφηση και την αποκρυπτογράφηση είναι διαφορετικό)
2. Η Java εφαρμόζει κρυπτογράφηση και αποκρυπτογράφηση MD5
1. Το Maven παρουσιάζει το βάζο του Apache (δεν είναι έργο Maven, μεταβείτε στο επόμενο βάζο στο Διαδίκτυο για μη αυτόματη εισαγωγή)
2. Κωδικός χρήσης MD5
|