欢迎!请查阅关于 页面以获取更多关于此机制的信息。
评论者:alexmiller
谢谢,我们讨论了这个问题以及我们可以采取的一些措施,但还没有为它创建工单。
虽然Java 7方法依赖于(尝试)使用字符串哈希代码正确初始化哈希表,但在Java 8中被删除。Java 8通过改进数据结构将线性冲突转换为红黑树(对数时间)以解决DoS冲突哈希攻击。可能在Clojure中也有类似的方法可行。
现在可以采用的一种解决方法是使用自定义类型包装映射键,该类型实现IHashEq并实现一个替代哈希函数。