module BLAKE128:S
BLAKE128
是一个生成 128 位 (16 字节) 散列值的 BLAKE2b 散列函数。它是加密安全的。但是,散列值的大小很小,使得可以在 2{^64}
次尝试中进行暴力破解攻击。
typet =
string
散列值的类型。
val hash_length : int
散列值的长度(以字节为单位)。
val compare : t -> t -> int
比较两个散列值,使用与 compare
相同的规范。
val equal : t -> t -> bool
测试两个散列值是否相等。
val string : string -> t
返回给定字符串的散列值。
val bytes : bytes -> t
返回给定字节序列的散列值。
val substring : string -> int -> int -> t
substring s ofs len
返回从索引 ofs
开始并包含 len
个字符的 s
子字符串的散列值。
val subbytes : bytes -> int -> int -> t
subbytes s ofs len
返回从索引 ofs
开始并包含 len
个字节的 s
子序列的散列值。
val channel : in_channel -> int -> t
从通道读取字符并返回它们的散列值。有关完整规范,请参见 Digest.channel
。
val file : string -> t
返回给定文件名的文件的散列值。
val output : out_channel -> t -> unit
在给定的输出通道上写入散列值。
val input : in_channel -> t
从给定的输入通道读取散列值。
val to_hex : t -> string
返回给定散列值的打印的十六进制表示形式。
Invalid_argument
,如果参数的长度不是 hash_length
,val of_hex : string -> t
将十六进制表示形式转换回相应的散列值。
Invalid_argument
,如果参数的长度不是 2 * hash_length
,或者如果参数包含非十六进制字符。