Хеш
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Хеш
Референца за `book.hash.php` со подобрена типографија и навигација.
HASH Порамки за дигести на пораки
Вовед
Овој екстензија обезбедува функции кои можат да се користат за директно или инкрементално обработување на пораки со произволна должина користејќи различни алгоритми за хеширање, вклучувајќи генерирање на HMAC вредности и изведување клучеви вклучувајќи HKDF and PBKDF2.
Постојат приближно три категории на алгоритми за хеширање, а комплетен список на алгоритми може да се најде во документацијата за hash_algos().
-
Алгоритми за сума за проверка (како што се
"crc32b"or"adler32"): Тие се користат за пресметување на суми за проверка, корисни во ситуации како што е откривање на грешки при пренос. Тие често се многу брзи. Овие алгоритми често генерираат вредности кои лесно се „предвидуваат“ или можат да се манипулираат за да се создадат судири, така што тие се целосно несоодветни за криптографска употреба. - Не-криптографски алгоритми (како што е фамилијата xxHash): Тие често се користат за пресметување на вредности на хеш за табели со хеш, бидејќи се дизајнирани да дадат добра дистрибуција над произволни влезови од низи. Тие се исто така генерално брзи, но исто така не се соодветни за криптографска употреба.
-
Криптографски алгоритми (како што е фамилијата SHA-2): Тие се дизајнирани да дадат вредности на хеш што се репрезентативни за нивните влезови, но не се предвидливи ниту склони кон судири. Перформансите често се секундарен проблем, но модерната хардверска опрема често поддржува специјално ракување со овие алгоритми што PHP се обидува да ги користи кога е достапно.
Центарот за ресурси за компјутерска безбедност на NIST has
» објаснување на алгоритмите моментално одобрени од Федералните стандарди за обработка на информации на Соединетите Американски Држави.
Безбедност: стандардниот сет на знаци
Некои од раните криптографски алгоритми, како што се
"md4","md5"Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во"sha1", е докажано дека се склони кон напади со судири и генерално се препорачува повеќе да не се користат за криптографски апликации.
Погледнете исто така Најчесто поставувани прашања за безбедно хеширање на лозинки за информации за најдобри практики за користење на функции за хеширање при ракување со лозинки.
- Installing/Configuring
- Претходно дефинирани константи
- HashContext — Класата HashContext
- HashContext::__construct — Приватен конструктор за да се забрани директна инстанцијација
- HashContext::__serialize — Серијализира објектот HashContext
- HashContext::__unserialize — Десеријализира параметарот data во објект HashContext
- Функции за хеширање
- hash — Генерира вредност на хеш (дигест на порака)
- hash_algos — Враќа список на регистрирани алгоритми за хеширање
- hash_copy — Копира контекст за хеширање
- hash_equals — Безбедно споредување на низи отпорно на напади со време
- hash_file — Генерирајте вредност на хеш користејќи ја содржината на датотеката
- hash_final — Финализирајте инкрементален хеш и вратете го добиениот дигест
- hash_hkdf — Генерирајте изведување на клуч HKDF од даден влез на клуч
- hash_hmac — Генерирајте хеш вредност со клуч користејќи го методот HMAC
- hash_hmac_algos — Вратете листа на регистрирани алгоритми за хеширање погодни за hash_hmac
- hash_hmac_file — Генерирајте хеш вредност со клуч користејќи го методот HMAC и содржината на датотеката
- hash_init — Иницијализирајте контекст за инкрементално хеширање
- hash_pbkdf2 — Генерирајте изведување на клуч PBKDF2 од дадена лозинка
- hash_update — Пумпајте податоци во активен контекст за хеширање
- hash_update_file — Пумпајте податоци во активен контекст за хеширање од датотека
- hash_update_stream — Пумпајте податоци во активен контекст за хеширање од отворен стрим