相关疑难解决方法(0)

非加密用途的最快哈希?

我基本上准备将短语放入数据库,它们可能会出错,所以我想要存储它们的短哈希(我将简单地比较它们是否存在,所以哈希是理想的).

我假设MD5在100,000多个请求上相当慢,所以我想知道什么是散列短语的最佳方法,可能推出我自己的哈希函数或使用hash('md4', '...'最终会更快?

我知道MySQL有MD5(),所以这会在查询结束时补充一点速度,但也许在MySQL中还有一个更快的哈希函数,我不知道这可以用于PHP ..

php database security hash

135
推荐指数
9
解决办法
7万
查看次数

Scala中的case类中的hashCode

我已经读过Scala'a case class构造自动生成拟合equalshashCode实现.生成的代码到底是什么样的?

scala hashcode case-class

54
推荐指数
3
解决办法
3万
查看次数

将有符号整数转换为无符号长整型的最佳方法?

对于Java中的某些散列函数,将值视为无符号整数(例如,与其他实现进行比较)会很好,但Java仅支持有符号类型.我们可以将签名转换为int"未签名" long,如下所示:

public static final int BITS_PER_BYTE = 8;
public static long getUnsignedInt(int x) {
  ByteBuffer buf = ByteBuffer.allocate(Long.SIZE / BITS_PER_BYTE);
  buf.putInt(Integer.SIZE / BITS_PER_BYTE, x);
  return buf.getLong(0);
}
getUnsignedInt(-1); // => 4294967295
Run Code Online (Sandbox Code Playgroud)

但是,这个解决方案对我们真正做的事情来说似乎有些过分.有没有更有效的方法来实现同样的事情?

java unsigned

50
推荐指数
4
解决办法
6万
查看次数

哈希码的均匀分布()

我把我的课定义为:

final class Key<T extends Comparable<T>> {
    private final T q;
    private final T o;
    public Key(T q1, T o1) {
        q = q1;
        o = o1;
    }

    @Override
    public boolean equals(Object obj) {
        if(obj != null && obj instanceof Key) {
            Key<T> s = (Key<T>)obj;
            return q.equals(s.q) && o.equals(s.o);
        }
        return false;
    }

    @Override
    public int hashCode() {
        return Objects.hash(q,o);
    }
}
Run Code Online (Sandbox Code Playgroud)

我还定义了一个包含对象键的数组.例如:

Object arr[] = new Object[100];
Key<String> k = new Key<>("a","b");
int h = k.hashcode();
...
arr[h+i …
Run Code Online (Sandbox Code Playgroud)

java hashcode hash-collision

5
推荐指数
1
解决办法
1033
查看次数

标签 统计

hashcode ×2

java ×2

case-class ×1

database ×1

hash ×1

hash-collision ×1

php ×1

scala ×1

security ×1

unsigned ×1