Abstractly speaking, a hash function and a symmetric cipher are "the same thing". But, concretely, there is a symmetry between Stream cipher: map a fixed-length random input to a variable-length random output Hash function: map a variable-length random input to a fixed-length random output
Basic "while" loop in Elixir
"that's not how you're supposed to use functional programming languages" — how 'bout I do anyway?