2017-02-18 57 views
0

我使用PHP并获得IP编号。作为一种日志,我将它们转换为独特的东西并将它们保存为文件,目前为MD5。IP编号到文件名

我不确定这是最好的方法。你知道更好的方法吗?

  • 我知道,转换这样的IP地址并不是防弹的。
  • 应该能够处理IPV4和IPV6(也许其他人如果有的话)
  • 文件名应[基于IP多项独有] .TXT
  • 文件名不能随意,他们需要计算。
  • 速度和独特性是重中之重。
+0

为什么使用文件而不是数据库? – chris85

+2

为什么不直接将IP地址作为字符串呢?它需要分泌吗? – JakeParis

+0

@JakeParis是的,我需要使用它作为文件名。文件名不允许所有可能的字符。 –

回答

1

我想使用像IP4-xxxx.log和IP6-XXXX-XXXX-XXXX-whatever.log格式的

以后,您可以在剥离前4个字符和str_replace函数的 - 回点和双冒号。

您可以使用md5,但您需要将散列存储在某处,因为您无法反转散列。如果您担心隐私,那么您可以使用它,只要您知道要查找的日志的地址即可。

+0

我不在乎这里的隐私。阅读https://en.wikipedia.org/wiki/IPv6_address ::/128也似乎是IP号码。所以我需要照顾/以及。这就是我担心的,我错过了一些转换一些不允许的字符。你知道更多的字符可能在IP号码吗? –

+0

如果您想确保IP地址可以转换为文件名,您也可以使用ip2long。在评论中有一个ipToHex函数:http://php.net/manual/en/function.ip2long.php#82013还有ip2long6:http://php.net/manual/en/function.ip2long.php #94477 –