【发布时间】:2013-03-31 10:45:15
【问题描述】:
我需要设计一种方法来为存储在我的应用程序中的每个文档提供哈希。
使用现有的哈希库(BCrypt 等)甚至 BSON ObjectId 会生成不错的“哈希”或“密钥”,但它很长。
我也明白,实现短散列的唯一方法是散列更少的字符串(如果没有记错的话)。像哈希Long id 从0, 1, 2, 3 盯着等等。
然而这很容易想到,在 Google App Engine (GAE) 数据存储区中实现它相当困难,或者直到现在我还没有真正满足这个需求。
GAE 数据存储跨服务器甚至跨数据中心存储实体,并且自动递增 ID 并非真正用于此目的。
实现这一目标的策略是什么?
【问题讨论】:
-
1.一些像 md5 和 sha1 这样的哈希库总是会产生相同的长度 2。你为什么想要短哈希?
-
如果 GAE 数据存储擅长 ID 自动递增,MD5 就可以了
-
你错了。消息摘要算法将任意长度的字节数组作为输入,并返回一个固定长度的字节数组作为输出(通常约为 16 或 20 个字节)
标签: java google-app-engine hash google-cloud-datastore