【问题标题】:IP address -> simple word hash table function in PHPIP地址-> PHP中的简单单词哈希表函数
【发布时间】:2014-04-24 21:13:54
【问题描述】:

我有一个客户的 IP 地址和一个包含简单单词的数组。比方说……

$ip_addr = ip2long('172.16.254.12'); //returns an integer

$words = array('cat', 'dog', 'nest', 'barn', 'etc'); //arbitrary length

我正在尝试找出一种巧妙的方法将 IP 地址映射到数组中的某个位置,因此 172.16.254.12 总是变成 cat 等等,另一个 IP 会变成 dog。理想情况下,这个过程不会很容易逆转以掩盖客户端的 IP 地址,并且不应该有太多的冲突(但冲突不是那么重要)。我知道这需要一个哈希表,但不完全确定如何实现它。现在不需要担心 ipv6。

【问题讨论】:

    标签: php hash hashmap hashtable ip-address


    【解决方案1】:

    不需要散列函数:

    $ip_addr = ip2long('172.16.254.12'); //returns an integer
    $words = array('cat', 'dog', 'nest', 'barn', 'etc'); //arbitrary length
    
    $chosen_word = $words[$ip_addr % count($words)];
    

    【讨论】:

      猜你喜欢
      • 2017-09-01
      • 2013-01-02
      • 2019-07-27
      • 2012-03-30
      • 2013-06-12
      • 1970-01-01
      • 2012-04-26
      • 1970-01-01
      • 2017-12-01
      相关资源
      最近更新 更多