在Elixir中,您可以获得字符串的md5:
ex(1)> :crypto.hash(:md5 , "Elixir") |> Base.encode16()
"A12EB062ECA9D1E6C69FCF8B603787C3"
Run Code Online (Sandbox Code Playgroud)
但为什么不从终端返回相同的值?
[~ ~]$echo 'Elixir' | md5
694f56f4b30e60837151723777795fc2
Run Code Online (Sandbox Code Playgroud)
当然我错过了什么.
Gaz*_*ler 51
该echo命令将包含一个新行:
iex>:crypto.hash(:md5, "Elixir\n") |> Base.encode16()
"694F56F4B30E60837151723777795FC2"
Run Code Online (Sandbox Code Playgroud)
您可以使用case修改Base.encode16的大小写:
iex>:crypto.hash(:md5, "Elixir\n") |> Base.encode16(case: :lower)
"694f56f4b30e60837151723777795fc2"
Run Code Online (Sandbox Code Playgroud)
您可以使用-n标志echo来阻止新行:
$ echo -n 'Elixir' | md5sum
a12eb062eca9d1e6c69fcf8b603787c3 -
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6278 次 |
| 最近记录: |