mirror of
https://github.com/jbranchaud/til
synced 2026-01-04 23:58:01 +00:00
Add Compute md5 Digest Of A String as an Elixir til
This commit is contained in:
@@ -7,7 +7,7 @@ variety of languages and technologies. These are things that don't really
|
||||
warrant a full blog post. These are mostly things I learn by pairing with
|
||||
smart people at [Hashrocket](http://hashrocket.com/).
|
||||
|
||||
_501 TILs and counting..._
|
||||
_502 TILs and counting..._
|
||||
|
||||
---
|
||||
|
||||
@@ -87,6 +87,7 @@ _501 TILs and counting..._
|
||||
- [Assert An Exception Is Raised](elixir/assert-an-exception-is-raised.md)
|
||||
- [Binary Representation Of A String](elixir/binary-representation-of-a-string.md)
|
||||
- [Check For A Substring Match](elixir/check-for-a-substring-match.md)
|
||||
- [Compute md5 Digest Of A String](elixir/compute-md5-digest-of-a-string.md)
|
||||
- [Counting Records With Ecto](elixir/counting-records-with-ecto.md)
|
||||
- [Create A Date With The Date Sigil](elixir/create-a-date-with-the-date-sigil.md)
|
||||
- [Creating Indexes With Ecto](elixir/creating-indexes-with-ecto.md)
|
||||
|
||||
20
elixir/compute-md5-digest-of-a-string.md
Normal file
20
elixir/compute-md5-digest-of-a-string.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Compute md5 Digest Of A String
|
||||
|
||||
To compute the md5 digest of a string, we can use Erlang's top-level `md5`
|
||||
function.
|
||||
|
||||
```elixir
|
||||
> :erlang.md5("#myelixirstatus")
|
||||
<<145, 148, 139, 99, 194, 176, 105, 18, 242, 246, 37, 69, 142, 69, 226, 199>>
|
||||
```
|
||||
|
||||
This, however, gives us the result in the raw binary representation. We
|
||||
would like it in a base 16 encoding, as md5 digests tend to be.
|
||||
|
||||
We can wrap (or pipe) this with `Base.encode16` to get the result we are
|
||||
looking for.
|
||||
|
||||
```elixir
|
||||
> Base.encode16(:erlang.md5("#myelixirstatus"), case: :lower)
|
||||
"91948b63c2b06912f2f625458e45e2c7"
|
||||
```
|
||||
Reference in New Issue
Block a user