Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε τι είναι μια συνάρτηση κατακερματισμού και πώς λειτουργεί;

sobes.tech AI

Απάντηση από AI

Μια συνάρτηση κατακερματισμού είναι μια συνάρτηση που λαμβάνει δεδομένα εισόδου (π.χ., μια συμβολοσειρά ή ένα αρχείο) και επιστρέφει μια συμβολοσειρά ή αριθμό σταθερού μήκους — το hash. Τα βασικά χαρακτηριστικά των συναρτήσεων κατακερματισμού:

  • Ταχύτητα υπολογισμού
  • Μονοκατευθυντικότητα (είναι δύσκολο να ανακτήσεις τα αρχικά δεδομένα από το hash)
  • Ελαχιστοποίηση συγκρούσεων (διαφορετικά δεδομένα με το ίδιο hash)

Στο iOS, συχνά χρησιμοποιούνται αλγόριθμοι από το CryptoKit ή το CommonCrypto για το hashing.

Παράδειγμα σε Swift με SHA256:

import CryptoKit

let input = "Hello, world!"
let inputData = Data(input.utf8)
let hashed = SHA256.hash(data: inputData)
let hashString = hashed.compactMap { String(format: "%02x", $0) }.joined()
print(hashString)

Οι συναρτήσεις hash χρησιμοποιούνται για τον έλεγχο ακεραιότητας δεδομένων, την αποθήκευση κωδικών πρόσβασης (σε συνδυασμό με αλάτι) και άλλες εργασίες ασφαλείας.