Created
June 5, 2013 11:52
-
-
Save 10nin/5713366 to your computer and use it in GitHub Desktop.
Get MD5 message digest by elixir-lang.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
defmodule Crypto do | |
def md5(s) do | |
list_to_binary(Enum.map(bitstring_to_list(:crypto.md5(s)), fn(x) -> integer_to_binary(x, 16) end)) | |
end | |
end |
I found a clearer way to encode the bitstring: Base.encode16
defmodule Crypto do
def md5(data) do
Base.encode16(:erlang.md5(data), case: :lower)
end
end
@bheeshmar ótima solução.
@bheeshmar awesome
@bheeshmar you win the internet. thanks for this
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
A few improvements:
bitstring_to_list
andlist_to_binary
have been removed from Elixir.md5
is a top-level function in Erlang, so you can call it simply as:erlang.md5(s)
.