digital-garden/dev/cryptography/SHA-256.md

45 lines
3.5 KiB
Markdown
Raw Normal View History

---
aliases:
- Secure Hash Algorithm 256-bit
- SHA256
tags:
- maturity/🌱
date: 2024-09-14
zero-link:
- "[[../../meta/zero/00 Криптография|00 Криптография]]"
- "[[../../meta/zero/00 Снипеты для Java|00 Снипеты для Java]]"
parents:
- "[[Хеш-функция]]"
linked:
---
SHA-256 (Secure Hash Algorithm 256-bit) — это [[Хеш-функция]], которая преобразует входные данные в 256-битное (32-байтное) значение, называемое хешем. SHA-256 является частью семейства алгоритмов SHA-2.
**Основные характеристики SHA-256:**
- **Фиксированная длина выхода**: Независимо от размера входных данных (например, файл, текст, строка), выход всегда имеет длину 256 бит (32 байта).
- **Однонаправленность**: Хеш-функция является однонаправленной, что означает, что по хешу невозможно восстановить исходные данные.
- **Устойчивость к коллизиям**: Вероятность нахождения двух различных входов, которые дают один и тот же хеш, чрезвычайно мала, что делает SHA-256 устойчивой к коллизиям.
- **Устойчивость к предобразу**: Трудно найти вход, который соответствует заданному хешу.
- **Быстродействие**: SHA-256 работает достаточно быстро для большинства приложений, включая цифровые подписи, контроль целостности данных и криптографические протоколы.
**Применения SHA-256:**
- **Хранение паролей**: Хеширование паролей перед хранением для защиты от утечек данных.
- **Контроль целостности данных**: Проверка целостности файлов или сообщений с помощью хеша.
- **Криптовалюты**: SHA-256 используется в алгоритме доказательства работы (Proof-of-Work) в блокчейне Bitcoin.
- **Цифровые подписи**: Используется для создания цифровых подписей, которые подтверждают подлинность и целостность сообщений.
**Реализации:**
- [[../snippet/Реализация SHA-256 на Java|Реализация SHA-256 на Java]]
## Мета информация
**Область**:: [[../../meta/zero/00 Криптография|00 Криптография]], [[../../meta/zero/00 Снипеты для Java|00 Снипеты для Java]]
**Родитель**:: [[Хеш-функция]]
**Источник**::
**Создана**:: [[2024-09-14]]
**Автор**::
### Дополнительные материалы
2024-09-14 23:38:42 +03:00
-
### Дочерние заметки
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
<!-- SerializedQuery: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
- [[Реализация SHA-256 на Java]]
<!-- SerializedQuery END -->