Перейти к основному содержимому

ХешированиеДанных

Стд::Криптография::ХешированиеДанных Доступность: КлиентИСервер

Вычислитель контрольных сумм и хешей (дайджестов) по произвольным входным данным.

Сравнение ссылочное

Иерархия типа

Базовые типы: Объект


Примеры

Расчет хеша на основе строки с данными:

знч Хеш = новый ХешированиеДанных(АлгоритмХеширования.Sha1)
.ДобавитьДанные("текст для расчета хеша".ВБайты())
.ДобавитьДанные("дополнительные данные для расчета хеша".ВБайты())
.Результат

Расчет хеша на основе файла:

исп СодержимоеФайла = новый Файл("<Путь к файлу>").ПолучитьПотокЧтения()
знч Хеш = новый ХешированиеДанных(АлгоритмХеширования.Sha1)
.ДобавитьДанные(СодержимоеФайла)
.Результат

Расчет хеша на основе строки с учетом кодировки:

знч ПроизвольнаяСтрока = "Строковое значение"
знч Хеш = ХешированиеДанных.Хеш(ПроизвольнаяСтрока, АлгоритмХеширования.Md5, "UTF-16")

// или

Хеш = новый ХешированиеДанных(АлгоритмХеширования.Md5)
.ДобавитьДанные(ПроизвольнаяСтрока, "UTF-16")
.Результат

Расчет хеша на основе строки с учетом криптопровайдера:

знч ПримерСтроки  = "пример строки"
знч Алгоритм = АлгоритмХеширования.Gost3411_2012_256
знч Кодировка = "UTF-8"
знч КриптоПровайдер = Криптография.ПолучитьBouncyCastle()

знч Хеш = ХешированиеДанных.Хеш(ПримерСтроки, Алгоритм, Кодировка, КриптоПровайдер)

//или

Хеш = новый ХешированиеДанных(Алгоритм, КриптоПровайдер)
.ДобавитьДанные(ПримерСтроки, Кодировка)
.Результат

Конструкторы

ХешированиеДанных

Доступность: Клиент

ХешированиеДанных(Алгоритм: АлгоритмХеширования)
Перегрузка:
ХешированиеДанных(Алгоритм: АлгоритмХеширования, Криптопровайдер: Криптопровайдер|Строка|? = Неопределено)

Создает объект для хеширования данных на основании алгоритма Алгоритм.

Криптопровайдер указанного алгоритма будет подобран автоматически. Для алгоритма ГОСТ 34.11 приоритет в первую очередь отдается КриптоПро, затем Bouncy Castle, затем любой криптопровайдер, имеющий реализацию алгоритма шифрования.

Исключения

ИсключениеКриптографии - если не найден криптопровайдер поддерживающий указанный Алгоритм.


ХешированиеДанных

Доступность: Сервер

ХешированиеДанных(
Алгоритм: АлгоритмХеширования,
Криптопровайдер: Криптопровайдер|Строка|? = Неопределено)
Перегрузка:
ХешированиеДанных(Алгоритм: АлгоритмХеширования)

Создает объект для хеширования данных на основании алгоритма Алгоритм, реализуемого криптопровайдером Криптопровайдер.

Если Криптопровайдер не указан - будет подобран автоматически. Для алгоритма ГОСТ 34.11 приоритет в первую очередь отдается КриптоПро, затем Bouncy Castle, затем любой криптопровайдер, имеющий реализацию алгоритма шифрования.

Исключения

ИсключениеКриптографии - если Алгоритм не поддерживается указанным криптопровайдером или не удалось найти подходящий, если не был указан.


Свойства

Результат

Доступность: КлиентИСервер ТолькоЧтение

Результат: Байты

Результат вычисления хеша для добавленных ранее данных. Длина результата зависит от используемого алгоритма.


Методы

ДобавитьДанные

Доступность: КлиентИСервер

ДобавитьДанные(Данные: Объект?): ХешированиеДанных
Перегрузка:
ДобавитьДанные(Данные: Строка, Кодировка: Кодировка|Строка): ХешированиеДанных

Добавляет порцию данных Данные для вычисления хеша.

Поддерживаемые типы Данные:

Исключения

ИсключениеХешированияДанных - при добавлении неподдерживаемого типа данных.


ДобавитьДанные

Доступность: КлиентИСервер

ДобавитьДанные(
Данные: Строка,
Кодировка: Кодировка|Строка
): ХешированиеДанных
Перегрузка:
ДобавитьДанные(Данные: Объект?): ХешированиеДанных

Добавляется порцию данных Данные для вычисления хеша с учетом кодировки.

Поддерживаемые типы Данные:

На клиенте поддерживается только Кодировка UTF-8.

Исключения

ИсключениеНедопустимыйАргумент - если кодировка не поддерживается.


Хеш

Доступность: Клиент Статический

Хеш(
Данные: Объект?,
Алгоритм: АлгоритмХеширования
): Байты
Перегрузка:
Хеш(Данные: Строка, Алгоритм: АлгоритмХеширования, Кодировка: Кодировка|Строка): Байты

Вычисляет хеш по входным данным Данные на основании алгоритма Алгоритм.

Криптопровайдер указанного алгоритма будет подобран автоматически. Для алгоритма ГОСТ 34.11 приоритет в первую очередь отдается КриптоПро, затем Bouncy Castle, затем любой криптопровайдер, поддерживающий данный алгоритм.

Поддерживаемые типы Данные:

Исключения

ИсключениеХешированияДанных - при добавлении неподдерживаемого типа данных. ИсключениеКриптографии - если алгоритм не поддерживается криптопровайдером или криптопровайдер отсутствует.


Хеш

Доступность: Клиент Статический

Хеш(
Данные: Строка,
Алгоритм: АлгоритмХеширования,
Кодировка: Кодировка|Строка
): Байты
Перегрузка:
Хеш(Данные: Объект?, Алгоритм: АлгоритмХеширования): Байты

Вычисляет хеш по строке Данные в кодировке Кодировка на основании алгоритма Алгоритм.

Криптопровайдер указанного алгоритма будет подобран автоматически. Для алгоритма ГОСТ 34.11 приоритет в первую очередь отдается КриптоПро, затем Bouncy Castle, затем любой криптопровайдер, поддерживающий данный алгоритм.

На клиенте поддерживается только Кодировка UTF-8.

Исключения

ИсключениеХешированияДанных - при добавлении неподдерживаемого типа данных. ИсключениеКриптографии - если алгоритм не поддерживается криптопровайдером или криптопровайдер отсутствует.


Хеш

Доступность: Сервер Статический

Хеш(
Данные: Объект?,
Алгоритм: АлгоритмХеширования,
Криптопровайдер: Криптопровайдер? = Неопределено
): Байты
Перегрузка:
Хеш(Данные: Строка, Алгоритм: АлгоритмХеширования, Кодировка: Кодировка|Строка, Криптопровайдер: Криптопровайдер|Строка|? = Неопределено): Байты

Вычисляет хеш по входным данным Данные на основании указанного алгоритма, реализуемого криптопровайдером Криптопровайдер. Если Криптопровайдер не указан - будет подобран автоматически. Для алгоритма ГОСТ 34.11 приоритет в первую очередь отдается КриптоПро, затем Bouncy Castle, затем любой криптопровайдер, поддерживающий данный алгоритм.

Поддерживаемые типы Данные:

Исключения

ИсключениеХешированияДанных - при добавлении неподдерживаемого типа данных. ИсключениеКриптографии - если алгоритм не поддерживается криптопровайдером или криптопровайдер отсутствует.


Хеш

Доступность: Сервер Статический

Хеш(
Данные: Строка,
Алгоритм: АлгоритмХеширования,
Кодировка: Кодировка|Строка,
Криптопровайдер: Криптопровайдер|Строка|? = Неопределено
): Байты
Перегрузка:
Хеш(Данные: Объект?, Алгоритм: АлгоритмХеширования, Криптопровайдер: Криптопровайдер? = Неопределено): Байты

Вычисляет хеш по входным данным Данные на основании указанного алгоритма с учетом кодировки и опционально криптопровайдера. Если Криптопровайдер не указан - будет подобран автоматически. Для алгоритма ГОСТ 34.11 приоритет в первую очередь отдается КриптоПро, затем Bouncy Castle, затем любой криптопровайдер, поддерживающий данный алгоритм.

На клиенте поддерживается только Кодировка UTF-8.

Исключения

ИсключениеНедопустимыйАргумент - если кодировка не поддерживается. ИсключениеКриптографии - если алгоритм не поддерживается криптопровайдером или криптопровайдер отсутствует.


Список унаследованных методов

Объект

ВСтроку, ПолучитьТип, Представление