在Elixir中将bitstring转换为字符串

时间:2016-02-14 21:16:54

标签: elixir

我刚刚读完Elixir。

生成hmac哈希后,我得到了bitstring

:crypto.hmac(:sha512, secret, data)
Sign: <<104, 155, 224, 193, 121, 129, 237, 103, 233, 236, 161, 130...>>

现在,我必须将其转换为String,但不知道具体如何。

任何Elixir / erlang模块直接执行此操作?

1 个答案:

答案 0 :(得分:5)

糟糕,我没有看到你最初想要使用String Module的bitstring输出。你已经可以!您可以通过尝试将输出传递到String.length并获得成功的返回值来看到这一点。

这个getting started guide在完成基础知识方面做得很好。特别是“字符串是UTF-8编码的二进制文件”。

您希望能够对输出做什么?

如果您希望能够通过URL传递身份验证系统或类似的东西,我就离开了原始答案。

您可以使用Base Module来实现这一目标。

例如,您可以像

一样管道输出

:crypto.hmac(:sha512, secret, data) |> Base.encode64

如果您需要将文件名或网址安全保存,则可以使用其他url_encode64功能。