аченнями.  
 Замість паролів будемо зберігати їх хеш-значення. Користувач вводить при вході логін і пароль. У файлі за логіном шукається потрібний хеш. Він порівнюється з хешем того, що введено в полі «пароль» користувачем. Якщо рівні, то користувача пропускають, інакше - ні. 
  Якщо хтось залізе у файл з даними користувачів (де зберігається логін і паролі), замість паролів він побачить хеши. 
  Наочно цю схему захищеного зберігання паролів за допомогою хешування можна намалювати так: 
    У криптографії традиційно значення f пишуть не як звичайне десятково число, а в двійковій або 16-ічной системі ( 026f8e459c8f89ef75fa7a78265a0025 ), і це називають хеш-значенням або просто хешем. 
  Делфі є бібліотека «IdHashMessageDigest» (Якщо встановлений пакет indy) вона містить функції з 128 бітним алгоритмом хешування. 
   Приклад  
   Uses IdHashMessageDigest; 
  ... md5 (S: string): string; md5indy: TIdHashMessageDigest;, HEXhash, Base: string; indy:=TIdHashMessageDigest5. Create;// Створюємо екземпляр об'єкта:=StringOf (md5indy. HashString (S));// Отримуємо MD5-хеш:=md5indy. HashStringAsHex (Base);// Той же хеш, але в HEX-формі 
				
				
				
				
			  end; 
   Результат: На вході рядок на виході 128 бітний хеш. 
  Тут метод HashString приймає на вході рядок, обчислює хеш і повертає його у вигляді масиву байтів (TidBytes). Тому додатково ми перетворимо цей масив в рядок, використовуючи функцію StringOf. 
  Метод HashStringAsHex також обчислює MD5-хеш, але на додаток відразу ж його переводить в HEX-форму. 
   Примітка - 128-бітний алгоритм хешування, розроблений професором Рональдом Л. Рівестом з Массачусетського технологічного інституту в 1991 році.  
    Контрольна сума  
   Контрольна сума файлу ( хеш ) - це певне значення, яке розраховується по набору даних з використанням певного алгоритму. Вона допомагає перевірити цілісність даних при їх зберіганні і передачі.  Якщо у двох файлів збігається контрольна сума, це означає, що ці файли ідентичні за змістом , навіть якщо з якоїсь причини мають різні назви. 
  Наприклад ви завантажили файл, а потім з'ясували, що він дефектний (наприклад, програма, якій ви намагаєтеся його відкрити, видає повідомлення про помилку, хоча інші файли цього ж формату відкриває «на ура») . Як перевірити, чи був він дефектним спочатку, або ж відбулися якісь проблеми при скачуванні? Для цього і потрібна  контрольна сума  файлу. 
  Існують різні алгоритми хешування для створення контрольних сум. Скажімо, програми-архіватори використовують так званий циклічний надлишковий код (CRC). Він дозволяє упевнитися, що розпакування файлу з архіву пройшла без проблем, a отриманий файл ідентичний споконвічного. Програма BitTorrent використовує алгоритм SHA - 1, щоб перевіряти цілісність даних при завантаженні. Для перевірки цілісності завантажених файлів і пошуку дублікатів файлів зазвичай використовують алгоритм MD5. 
  Скажімо, ви вирішили завантажити дистрибутив опе...