我刚刚读完Elixir。
生成hmac哈希后,我得到了bitstring
:
:crypto.hmac(:sha512, secret, data)
Sign: <<104, 155, 224, 193, 121, 129, 237, 103, 233, 236, 161, 130...>>
现在,我必须将其转换为String
,但不知道具体如何。
任何Elixir / erlang模块直接执行此操作?
答案 0 :(得分:5)
糟糕,我没有看到你最初想要使用String Module的bitstring输出。你已经可以!您可以通过尝试将输出传递到String.length
并获得成功的返回值来看到这一点。
这个getting started guide在完成基础知识方面做得很好。特别是“字符串是UTF-8编码的二进制文件”。
您希望能够对输出做什么?
如果您希望能够通过URL传递身份验证系统或类似的东西,我就离开了原始答案。
您可以使用Base Module来实现这一目标。
例如,您可以像
一样管道输出 :crypto.hmac(:sha512, secret, data) |> Base.encode64
如果您需要将文件名或网址安全保存,则可以使用其他url_encode64
功能。