【问题标题】:Use Sha vs md5 or Hash in Snowflake-db在 Snowflake-db 中使用 Sha vs md5 或 Hash
【发布时间】:2017-12-19 17:02:41
【问题描述】:

首先让我说我没有使用它来存储密码或任何其他敏感信息——我只是想要一个我以后可以使用或快速检查唯一记录的行级 sha/hash。我的表会偏长,在 0.1 到 10 万亿行的范围内。

我使用的是Snowflake datawarehouse,因此我的选项是 SHA1、SHA2、MD5(每个都有二进制选项)和 HASH

我想我想尽量减少冲突的机会(考虑到长表),同时不要不必要地消耗我的计算积分

根据我的用例,哪一个是最佳选择?

【问题讨论】:

  • 任何“好的”散列函数(这些都是)均匀分布散列,所以没关系。

标签: hash snowflake-cloud-data-platform


【解决方案1】:

如果您可以接受一些冲突,内置的hash 功能应该足够好。它可以比 MD5/SHA 函数快得多,并且考虑到它的输出,它会产生良好的哈希值,但它产生的哈希值范围更小(64 位输出),因此更有可能导致更多的冲突。

如果您不需要冲突,显然没有哈希函数可以保证这一点。

MD5/SHA 函数在您想以与使用这些算法之一计算哈希的其他系统兼容的形式计算字符串的哈希时最有用。

【讨论】:

    猜你喜欢
    • 2021-09-05
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 2012-12-17
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多