hash - 如何从 elixir 中的 map 创建 `hash` 或 `md5`?

标签 hash elixir md5

我需要将 map 转换为 hash/md5

map1 = %{k1: "val1", k2: "val2"}
map2 = %{k2: "val2", k1: "val1"}

上面两个 map 相同,因为 map 中的顺序无关紧要。 如何从 map 创建散列,以便它们的散列也相同?

出于缓存目的,我需要这样做。

最佳答案

phash2/1phash2/2函数,我们可以散列任何 elixir/erlang 术语:

:erlang.phash2(map1) == :erlang.phash2(map2) # true

关于hash - 如何从 elixir 中的 map 创建 `hash` 或 `md5`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65568086/

相关文章:

java - 如何在 Jboss 6 中使用 md5 哈希进行 JAAS WebAuthentication?

algorithm - C++ std::unordered_map 键自定义散列

java - 在服务器上提交表单之前对密码进行哈希处理

performance - 我应该更喜欢Enum在Elixir中流式传输吗?

elixir - Elixir OTP Supervisor 检测到崩溃的进程时记录错误

r - R 中相同字符串的不同 md5 哈希值

java - HashMap 条目冲突

perl - 在 Perl 中如何按二级哈希值排序?

elixir - 在Elixir/Mix/Phoenix应用中将服务/初始化代码放在哪里?

java - MD5 哈希生成问题