可能重复:
Generate a unique value for a combination of two numbers
是否有办法散列两个用户ID(整数),并始终为给定的一对用户ID获取唯一的哈希值?
例如:
a = hash( x , y );
和
b = hash( y , x );
在上面的例子中,对于INT(11)(MySQL)范围内任何给定的id对,a和b必须始终是等效的。
普通PHP是编程环境。
任何建议都欢迎你们......
答案 0 :(得分:4)
对数字求和不会产生唯一的哈希值。例如,1 + 3 == 2 + 2。这样做:
function myHash( $id1, $id2 ) {
$ids = array( $id1, $id2 ); // or func_get_args() to support variable number
sort( $ids );
return md5( implode( '-', $ids ); // md5() == any other hashing function
}
myHash( x, y ) == myHash( y, x );
答案 1 :(得分:0)
使用http://php.net/manual/en/function.md5.php
像这样:$hash = md5(sprintf("%05d/%05d", $id1, $id2));