Tag: 散列

将string散列成RGB颜色

有没有最佳做法如何散列任意string到RGB颜色值? 或者更一般地说:3个字节。 你问:我什么时候需要这个? 对我来说没有关系,但想象一下任何GitHub 网页上的pipe图。 在那里你可以看到这样的东西: 每条彩色线代表一个独特的git分支。 对这些分支着色的低科技方法将是一个CLUT(颜色查找表)。 更复杂的版本将是: $branchColor = hashStringToColor(concat($username,$branchname)); 因为每次看到分支表示时都需要一个静态颜色。 而对于奖励点:如何确保散列函数的颜色分布均匀? 所以我的问题的答案归结为hashStringToColor()的实现。

如何在“redis”中“EXPET”“HSET”子键?

我需要在redis哈希中过期所有的密钥,这些都比1个月早。

散列码的哈希码和相等

请在Hashset中澄清我的疑问。 考虑下面的代码, class Person { String name; Person(String n) { name=n; } public String getName() { return name; } @Override public boolean equals(Object arg0) { System.out.println("in equals"); Person obj=(Person)arg0; System.out.println("1st "+getName()); System.out.println("2nd "+obj.getName()); if(this.getName().equals(obj.getName())) { return true; } return false; } @Override public int hashCode() { System.out.println("in hash code"); System.out.println(" value is "+Integer.valueOf(name.charAt(0))); return Integer.valueOf(name.charAt(0)); […]

总和2使用相同的密钥哈希属性

我有2个哈希值,例如: {'a' => 30, 'b' => 14} {'a' => 4, 'b' => 23, 'c' => 7} 其中a , b和c是对象。 我如何总结这些哈希键获得一个新的哈希像: {'a' => 34, 'b' => 37, 'c' => 7}

从NSString创buildSHA1哈希

我如何从NSString创build一个SHA1。 比方说NSString被设置为: NSString *message = @"Message"; 我可以使用PHP来创buildsha($message)的SHA1哈希。 但不幸的是,它不能像Objective-C那样工作。

有什么SHA-256的JavaScript实现通常被认为是值得信赖的吗?

我正在写一个论坛的login名,并需要散列在JavaScript中的密码客户端发送到服务器之前。 我无法弄清楚我实际上可以信任哪个SHA-256实现。 我期待着有一种每个人都使用的权威脚本,但是我发现所有的项目都有自己的实现。 我认识到,使用其他人的密码永远是一个信仰的飞跃,除非你有资格审查它自己,并没有普遍的定义,“可信赖”,但这似乎是一些共同和重要的东西,应该是某种对使用什么达成共识。 我只是天真? 编辑,因为它在评论中出现了很多:是的,我们再次在服务器端做一个更严格的散列。 客户端哈希不是我们保存在数据库中的最终结果。 客户端哈希是因为客户端请求它。 他们没有给出具体的原因,可能他们就像矫枉过正。

Enum.hashCode()背后的原因是什么?

Enum类中的hashCode()方法是final的,定义为super.hashCode(),这意味着它返回一个基于实例地址的数字,这个数字是程序员POV的一个随机数。 将其定义为例如ordinal() ^ getClass().getName().hashCode()在不同的JVM中是确定性的。 它甚至会更好一些,因为最不重要的位将“尽可能地变化”,例如,对于包含多达16个元素的枚举和16的HashMap,肯定没有冲突(当然,使用EnumMap更好,但有时不可能,例如没有ConcurrentEnumMap)。 目前的定义你没有这样的保证,是吗? 答案摘要 使用Object.hashCode()比较像上面那样的更好的hashCode,如下所示: PROS 简单 CONTRAS 速度 更多的碰撞(对于任何大小的HashMap) 非决定论,传播到其他对象使他们无法使用 确定性模拟 ETag计算 根据例如HashSet迭代顺序search错误 我个人更喜欢更好的hashCode,但恕我直言,没有理由重量多less,除了速度。 UPDATE 我对速度感到好奇,写了一个令人惊讶的结果 。 对于每个类的单个字段的价格,您可以确定性的哈希码快四倍 。 在每个字段中存储哈希码将更快,尽pipe可以忽略不计。 标准哈希代码速度不是很快的解释是,当对象被GC移动时,它不能是对象的地址。 更新2 一般来说, hashCode性能有一些奇怪的事情发生 。 当我理解他们时,仍然有一个悬而未决的问题,为什么System.identityHashCode (从对象头中读取)比访问一个普通的对象字段慢。

将md5散列字节数组转换为string

我怎样才能将哈希结果,这是一个字节数组,转换为一个string? byte[] bytePassword = Encoding.UTF8.GetBytes(password); using (MD5 md5 = MD5.Create()) { byte[] byteHashedPassword = md5.ComputeHash(bytePassword); } 我需要将byteHashedPassword转换为一个string。

Pure-Ruby并发哈希

实现一个可以在多个线程中修改的Hash的最佳方式是什么,但是锁的数量是最less的。 为了这个问题的目的,你可以假设哈希将是重读的。 它必须在所有Ruby实现中都是线程安全的,包括那些以真正同步的方式运行的实现,比如JRuby,它必须以纯Ruby(不允许C或Java)编写。 随意提交一个总是locking的天真的解决scheme,但这不可能是最好的解决scheme。 优雅的点,但较小的可能性locking胜过较小的代码。

在C中寻找一个好的散列表实现

我主要对string键感兴趣。 有人可以指向我的图书馆吗?