Sobes.tech
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)

Функциите за хеширане се използват за проверка на цялостта на данните, съхраняване на пароли (в съчетание със сол) и други задачи за сигурност.