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

45 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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]]
**Автор**::
### Дополнительные материалы
-
### Дочерние заметки
<!-- 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 -->