I need to calculate the md5 sum of a file in Elixir, how can this be achieved? I would expect that something like:
iex(15)> {:ok, f} = File.open "file"
{:ok, #PID<0.334.0>}
iex(16)> :crypto.hash(:md5, f)
** (ArgumentError) argument error
:erlang.iolist_to_binary(#PID<0.334.0>)
(crypto) crypto.erl:225: :crypto.hash/2
But clearly it doesn't work..
The documentation of Mix.Utils tells about read_path/2, but it didn't worked either.
iex(22)> Mix.Utils.read_path("file", [:sha512])
{:ok, "Elixir"} #the expected was {:checksum, "<checksum_value>"}
Is there any library that provides such functionality in a easy way?