SHA-256
SHA-256 (Secure Hash Algorithm 256-bit)
Криптографическая хеш-функция, создающая фиксированный 256-битный (32-байтовый) дайджест из любых входных данных. Широко используется для проверки целостности данных, цифровых подписей, блокчейна и хранения паролей.
Техническая деталь
SHA-256, часть семейства SHA-2, разработанного АНБ, обрабатывает входные данные блоками по 512 бит за 64 раунда побитовых операций, модульных сложений и функций сжатия. Результат — 64-символьная шестнадцатеричная строка (256 бит). Практические коллизии для SHA-256 не обнаружены (в отличие от SHA-1 и MD5). Области применения: хеши коммитов Git, майнинг Bitcoin (двойной SHA-256), отпечатки сертификатов TLS и проверка целостности файлов (контрольные суммы). Web Crypto API поддерживает SHA-256 через subtle.digest('SHA-256', data). Для хеширования паролей предпочтительны специализированные функции (bcrypt, Argon2) благодаря их намеренной вычислительной затратности.
Пример
```javascript
// SHA-256 — Web Crypto API example
const data = new TextEncoder().encode('sensitive data');
const hash = await crypto.subtle.digest('SHA-256', data);
const hex = Array.from(new Uint8Array(hash))
.map(b => b.toString(16).padStart(2, '0')).join('');
```