-module(utils). % Загрузить модуль в интерпретатор можно так: % > c(utils). % {ok,utils} % > utils:md5_hex("booo"). % "1c052f260d1b34423c32e7c7b29026b9" % экспортируем все функции из модуля. -compile(export_all). % обычно так делают только для отладки, а в реальных библиотеках % экспортируют только нужные функции, примерно так: % -export([hex/1, md5_hex/1]). % Функция, конвертирующая 4-битное целое в одну шестнадцатеричную цифру hex(V) -> if V < 10 -> $0 + V; true -> $a + (V - 10) end. % Функция, конвертирующая бинарную строку в шестнадцатеричное представление binary_to_hex(Bin) -> lists:foldl(fun (E, Acc) -> [hex(E bsr 4) | [hex(E band 16#F) | Acc]] end, [], lists:reverse(binary_to_list(Bin))). % md5 в hex виде md5_hex(Bin) -> binary_to_hex(erlang:md5(Bin)).