我需要设计一种方法为存储在我的应用程序中的每个文档提供哈希。使用Google App Engine生成哈希代码(GAE)
使用现有的散列库(BCrypt
等),甚至BSON ObjectId
生成很好的“散列”或“密钥”,但它很长。
我也明白,实现短散列的唯一方法是散列较少的字符串(如果没有错误的话)。喜欢散列Long
id的盯着0, 1, 2, 3
等等。
但是很容易想到,在Google App Engine(GAE)数据存储库中实现它相当困难,或者到现在为止我还没有真正跨过这个需求。
跨服务器甚至跨数据中心和自动增量ID的GAE Datastore存储实体并不是真的这样。
实现此目标的策略是什么?
1.某些散列库如md5和sha1将始终产生相同的长度 2.为什么要短散列? – marcadian 2013-04-09 19:46:47
如果GAE数据存储擅长ID自动增量,那么MD5就可以了 – 2013-04-09 20:25:45
你错了。消息摘要算法将任意长度的字节数组作为输入,并返回一个固定长度的字节数组作为输出(通常大约16或20个字节) – 2013-04-10 21:14:56