Java: cadena de hashing de 7 bits

Tenía un requisito cuando tengo un conjunto de cadenas que no se conocen de antemano (por ejemplo, "phy", "link", "maca")

y tengo 2 programas donde solo tengo 7 bits para enviar para comunicar sobre la cadena.

Si conocía las cadenas de antemano, puedo decir "phy" = 1 "link" = 2 y así sucesivamente, pero quiero automatizar esto donde tengo 2 funciones en el programa con alguna forma de codificación, etc.

    private int getHash(String agent) {        
      return 0;
    }
    private String getAgentIDfromHash(int hash) {
      // TODO Auto-generated method stub
      return null;
    }

Entonces el int será un int 7 bit. Puedo intentar XORing todos los caracteres en String pero me preguntaba si hay una mejor manera de hacerlo. ¿Alguna idea?

Respuesta 1

con un número tan pequeño de bits, deberá tener especial cuidado para que no se produzca una colisión. Lo mínimo sería que los programas primero verifiquen internamente que no están creando colisiones con su propia parte (conocida) de los nombres.

La situación ideal sería que ambos programas conozcan todo el conjunto de claves, para que puedan producir una asignación de ID de 7 bits a nombre y que la asignación sea la misma en ambos lados (cualquiera que sea el conjunto de claves).

Respuesta: 2

Quiero dibujar una imagen que se mueva lentamente con coordenadas fraccionarias para que el movimiento sea más suave. La imagen es muy pequeña (5x7 píxeles). Pensé que Graphics2D podría tener una forma de dibujar una imagen en ...

Estoy usando el archivo testdata.properties para pasar valores a mis scripts de prueba de selenio. Cuando entro en chino Charachter: 成長 促進 japonés Charachter: `へ の コ ミ ッ ト メ ン ト en el archivo testdata.properties se muestra ...

Estoy tratando de compartir texto de mi aplicación como una imagen para otras aplicaciones. Por lo tanto, quiero que un usuario toque compartir en algún contenido, que la aplicación genere una imagen del texto y la agregue a una intención de elección. (Por ...

Soy nuevo en Talend, así que esta puede ser una pregunta básica. Estoy tratando de crear un trabajo de Talend para administrar las migraciones de Flyway DB. Como Talend no se conecta a Flyway directamente, simplemente quería agregar el ...