我希望有一个字符串的一些值,并希望得到某种键的数组来保持它的值例如:"这是一个测试"
$tmpAr['ce114e4501d2f4e2dcea3e17b546f339'] = array("somevar" => "somedata", "morevar" => "moredata");
我想这样做的原因是,因为我不知道确切的文本将被用作密钥,而不是剥离每一个可能有问题的部分,哈希将照顾它。
每个分组中可能少于100个字符串,因此重复键的可能性非常小。
使用这个有什么问题吗?
这不是一个好方法,因为您可能会有键冲突。你可以从维基百科上读到
MD5不是抗碰撞的
一般来说,由于鸽子洞原理,使用哈希函数来创建键从来都不是一个好的选择。键冲突将导致覆盖该数组位置的值,这种行为将很难调试。因此,你会遇到严重的问题和头痛。
总之,我建议您考虑另一种方法来创建密钥,以确保密钥的唯一性。