Стд::Криптография::ХешированиеДанных
Вычислитель контрольных сумм и хешей (дайджестов) по произвольным входным данным.
Сравнение
Ссылочное
Иерархия типа
Базовые типы: Объект
Примеры
Общие примеры
Расчет хеша на основе нескольких строк:
знч ХешСтрок = новый ХешированиеДанных(АлгоритмХеширования.Sha1)
.ДобавитьДанные("текст для расчета хеша".ВБайты())
.ДобавитьДанные("дополнительные данные для расчета хеша".ВБайты())
.Результат
Расчет хеша на основе потока:
исп Поток = новый Файл("<Путь к файлу>").ОткрытьПотокЧтения()
знч ХешФайла = новый ХешированиеДанных(АлгоритмХеширования.Sha1)
.ДобавитьДанные(Поток)
.Результат
Расчет хеша на основе строки с учетом кодировки:
пер ХешИзСтроки = ХешированиеДанных.Хеш("Строковое значение", АлгоритмХеширования.Md5, "UTF-16")
ХешИзСтроки = новый ХешированиеДанных(АлгоритмХеширования.Md5)
.ДобавитьДанные("Строковое значение", "UTF-16")
.Результат
Расчет хеша на основе строки с использованием криптопровайдера:
знч ПримерСтроки = "пример строки"
знч Алгоритм = АлгоритмХеширования.Гост3411_2012_256
знч Кодировка = "UTF-8"
знч КриптоПровайдер = Криптография.ПолучитьBouncyCastle()
пер ХешГост = ХешированиеДанных.Хеш(ПримерСтроки, Алгоритм, Кодировка, КриптоПровайдер)
ХешГост = новый ХешированиеДанных(Алгоритм, КриптоПровайдер)
.ДобавитьДанные(ПримерСтроки, Кодировка)
.Результат
Конструкторы
ХешированиеДанных
Создает объект для хеширования данных на основании алгоритма
Алгоритм
, реализуемого криптопровайдером
Криптопровайдер
.
Если Криптопровайдер
не указан - будет подобран автоматически.
Для алгоритма ГОСТ 34.11 приоритет в первую очередь отдается КриптоПро, затем Bouncy Castle, затем любой криптопровайдер, имеющий реализацию алгоритма шифрования.
Исключения
ИсключениеКриптографии - если Алгоритм
не поддерживается указанным криптопровайдером или не удалось найти подходящий, если не был указан.
Свойства
Результат
ТолькоЧтение
Результат вычисления хеша для добавленных ранее данных.
Длина результата зависит от используемого алгоритма.
Методы
ДобавитьДанные
Добавляет порцию данных
Данные
для вычисления хеша.
Поддерживаемые типы Данные
:
Исключения
ИсключениеХешированияДанных - при добавлении неподдерживаемого типа данных.
Перегрузка
ДобавитьДанные(Данные: Строка, Кодировка: Кодировка|Строка): ХешированиеДанных
ДобавитьДанные
Добавляется порцию данных
Данные
для вычисления хеша с учетом кодировки.
Поддерживаемые типы Данные
:
На клиенте поддерживается только Кодировка
UTF-8.
Исключения
Исключен иеНедопустимыйАргумент - если кодировка не поддерживается.
Перегрузка
ДобавитьДанные(Данные: Объект?): ХешированиеДанных
Хеш
Статический
Вычисляет хеш по входным данным
Данные
на основании указанного алгоритма, реализуемого криптопровайдером
Криптопровайдер
.
Если
Криптопровайдер
не указан - будет подобран автоматически.
Для алгоритма ГОСТ 34.11 приоритет в первую очередь отдается КриптоПро, затем Bouncy Castle, затем любой криптопровайдер, поддерживающий данный алгоритм.
Поддерживаемые типы Данные
:
Исключения
ИсключениеХешированияДанных - при добавлении неподдерживаемого типа данных.
ИсключениеКриптографии - если алгоритм не поддерживается криптопровайдером или криптопровайдер отсутст вует.
Перегрузка
Хеш(Данные: Строка, Алгоритм: АлгоритмХеширования, Кодировка: Кодировка|Строка, Криптопровайдер: Криптопровайдер|Строка|? = Неопределено): Байты
Хеш
Статический
Вычисляет хеш по входным данным
Данные
на основании указанного алгоритма с учетом кодировки и опционально криптопровайдера.
Если
Криптопровайдер
не указан - будет подобран автоматически.
Для алгоритма ГОСТ 34.11 приоритет в первую очередь отдается КриптоПро, затем Bouncy Castle, затем любой криптопровайдер, поддерживающий данный алгоритм.
На клиенте поддерживается только Кодировка
UTF-8.
Исключения
ИсключениеНедопустимыйАргумент - если кодировка не поддерживается.
ИсключениеКриптографии - если алгоритм не поддерживается криптопровайдером или криптопровайдер отсутствует.
Перегрузка
Хеш(Данные: Объект?, Алгоритм: АлгоритмХеширования, Криптопровайдер: Криптопровайдер? = Неопределено): Байты
Список унаследованных методов
Объект
ВСтроку
ПолучитьТип
Представление