Junior — Middle
Можете ли да обясните какво е хеш-функция и как работи?
sobes.tech AI
Отговор от AI
Функцията за хеширане е функция, която приема входни данни (например низ или файл) и връща низ или число с фиксирана дължина — хеш. Основните свойства на функциите за хеширане:
- Бързина при изчисление
- Однопосочност (е трудно да се възстановят оригиналните данни по хеша)
- Минимизиране на колизиите (различни данни с един и същ хеш)
В iOS често се използват алгоритми от CryptoKit или CommonCrypto за хеширане.
Пример на 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)
Функциите за хеширане се използват за проверка на цялостта на данните, съхраняване на пароли (в съчетание със сол) и други задачи за сигурност.