【发布时间】:2011-07-03 03:05:31
【问题描述】:
寻找一种方法来生成给定 PHP 数组的文件名安全哈希。我目前正在做:
$filename = md5(print_r($someArray, true));
...但使用 print_r() 生成每个数组唯一的字符串感觉“hacky”。
对于更清洁的方法有什么好主意吗?
编辑 好吧,似乎每个人都认为序列化更适合这项任务。有什么理由吗?我不担心在散列后检索有关变量的信息(这很好,因为它是单向散列!)。感谢您的回复!
【问题讨论】:
-
我认为这是一种相当不错的方式,实际上。
-
我会说这两种方式都同样有效。但是,考虑到它们在用途上的差异,原则上使用 serialize 代替 print_r 似乎更正确。但这只有当你有像我这样的程序员强迫症时。 :)
-
sha1似乎更独特。$sign = sha1(json_encode($data));