class SHA256UniformMapper implements UniformMapper<K,V> {

    @Override public double map(K key, V val) {
        int h = Math.abs(key.hashCode());
        String str = String.valueOf(key.hashCode());

        byte[] hash = getDigest().digest(str.getBytes(StandardCharsets.UTF_8));

        byte hashByte = hash[h % hash.length];

        byte resByte = 0;

        for (int i = 0; i < 8; i++)
            resByte = (byte)(resByte << 1 | ((hashByte >> shuffleStgy.get(i)) & 0x1));

        return 1.0 * (resByte & 0xFF) / 256;
    }

    public  SHA256UniformMapper();
    public  SHA256UniformMapper(Random random);

}