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.

  • Начиная с версии 4.00
val equal : t -> t -> bool

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

  • Начиная с версии 4.03
val string : string -> t

Возвращает дайджест заданной строки.

val bytes : bytes -> t

Возвращает дайджест заданной последовательности байтов.

  • Начиная с версии 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 байт.

  • Начиная с версии 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

Возвращает печатное шестнадцатеричное представление заданного дайджеста.

  • Вызывает исключение Invalid_argument, если аргумент не содержит ровно 16 байт.
val of_hex : string -> t

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

  • Начиная с версии 5.2
  • Вызывает исключение Invalid_argument, если аргумент не содержит ровно 32 шестнадцатеричных символа.
val from_hex : string -> t

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

  • Начиная с версии 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-2026 INRIA.
https://ocaml.org/manual/5.5/api/Digest.html

Spec-Zone.ru

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