Spec-Zone.ru › OCaml

Модуль Digest

module Digest: sig .. end

Хеш-сумма.

Этот модуль предоставляет функции для вычисления «хеш-сумм», также известных как «хеши», произвольных строк или файлов. Поддерживаемые алгоритмы хеширования — BLAKE2 и MD5.

Основные функции

Функции в этом разделе используют функцию хеширования MD5 для создания 128-битных хеш-сумм (16 байт). MD5 не является криптографически безопасным. Следовательно, эти функции не следует использовать в приложениях, чувствительных к безопасности. Функции BLAKE2 ниже являются криптографически безопасными.

type t = string 

Тип хеш-сумм: строки из 16 байт.

val compare : t -> t -> int

Функция сравнения для 16-байтовых хеш-сумм, с тем же спецификацией, что и compare, и реализацией, общей с String.compare. Вместе с типом t, эта функция compare позволяет модулю Digest передаваться в качестве аргумента функциям Set.Make и Map.Make.

  • Since 4.00
val equal : t -> t -> bool

Функция равенства для 16-байтовых хеш-сумм.

  • Since 4.03
val string : string -> t

Возвращает хеш-сумму заданной строки.

val bytes : bytes -> t

Возвращает хеш-сумму заданной последовательности байтов.

  • Since 4.02
val substring : string -> int -> int -> t

Digest.substring s ofs len возвращает хеш-сумму подстроки s, начинающейся с индекса ofs и содержащей len символов.

val subbytes : bytes -> int -> int -> t

Digest.subbytes s ofs len возвращает хеш-сумму подпоследовательности s, начинающейся с индекса ofs и содержащей len байта.

  • Since 4.02
val channel : in_channel -> int -> t

Если len неотрицательно, Digest.channel ic len считывает len символов из канала ic и возвращает их хеш-сумму, или вызывает End_of_file если конец файла достигнут до того, как будет прочитано len символов. Если len отрицательно, Digest.channel ic len считывает все символы из ic до достижения конца файла и возвращает их хеш-сумму.

val file : string -> t

Возвращает хеш-сумму файла, имя которого указано.

val output : out_channel -> t -> unit

Записывает хеш-сумму в заданный выходной канал.

val input : in_channel -> t

Читает хеш-сумму из заданного входного канала.

val to_hex : t -> string

Возвращает удобочитаемое шестнадцатеричное представление заданной хеш-суммы.

  • Raises Invalid_argument если аргумент не равен ровно 16 байтам.
val of_hex : string -> t

Преобразует шестнадцатеричное представление обратно в соответствующую хеш-сумму.

  • Since 5.2
  • Raises Invalid_argument если аргумент не содержит ровно 32 шестнадцатеричных символа.
val from_hex : string -> t

Такая же функция, как Digest.of_hex.

  • Since 4.00

Общий интерфейс

module type S = sig .. end

Подпись функции хеширования, которая генерирует хеш-суммы длиной hash_length из строк символов, массивов байтов и файлов.

Конкретные функции хеширования

module BLAKE128: S 

BLAKE128 — функция хеширования BLAKE2b, генерирующая 128-битные (16-байтовые) хеш-суммы.

module BLAKE256: S 

BLAKE256 — функция хеширования BLAKE2b, генерирующая 256-битные (32-байтовые) хеш-суммы.

module BLAKE512: S 

BLAKE512 — функция хеширования BLAKE2b, генерирующая 512-битные (64-байтовые) хеш-суммы.

module MD5: S 

MD5 — функция хеширования MD5.

© 1995-2024 INRIA.
https://ocaml.org/manual/5.2/api/Digest.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API