“年轻人,你可别小瞅了俺”,警卫队长笑着说。
“俺干这行之前可是念过哈佛的...”
“厉...厉害,还望您多指点指点”,杨成只好说道。
“GeoHashing算法的输入由两部分组成”,警卫队长开讲了。
“第一部分是当前的日期,比如说2005-05-26”。
“第二部分是当天的道琼斯工业指数,比如说是10458.68点”。
“那么,首先第一步,我把这两部分拼接起来,就得到:”
“2005-05-26-10458.68”
“紧接着,使用MD5(哈希类加密)算法处理这个字符串,以16进制形式输出,得到:”
“db9318c2259923d08b672cb305440f97”
“这是一个32字符的哈希值”。
“我把它分割成前后2段,每一段拥有16个字符”。
db9318c2259923d0
8b672cb305440f97
“给这2段分别加上0和小数点:”
0.db9318c2259923d0
0.8b672cb305440f97
“然后,将它们看作16进制的小数,转换为10进制,舍入到小数点后6位:”
0.857713
0.544544
“最后一步,选择当前的位置坐标,比方说是(37,-122)”。
“和上面2段作拼接,得到随机坐标:”
(37.857713,-122.544544)
“这就是全部的过程”,警卫队长眨了眨眼。
“有意思的算法”,杨成拍拍队长的肩膀,表示感谢。
“不过....”,杨成欲言又止。
“阁下可能有大麻烦了”。
“什么?”,警卫队长没听懂。
“在刚才过去的二十分钟,至少有一个连的俱乐部成员登上了总统办公大楼的顶端...”
“....”,警卫队长转过身子一看。
GeoHashing旗帜高高飘扬。