cómo hacer un bucle y generar una clave hash para cada palabra en el archivo

¿Puedo saber cómo hago un bucle para poder generar código hash para todas las palabras en el archivo (.txt)? Ya puedo generar un código hash único para el archivo.

el bucle dado lee y saca las palabras del documento de texto. pero no puedo incluir la generación hashkey.

public static void main(String[] args) throws NoSuchAlgorithmException, IOException { 

  JFileChooser chooser=new  JFileChooser();
  int returnVal = chooser.showOpenDialog(null);
  if (returnVal == JFileChooser.APPROVE_OPTION) {
    File f = chooser.getSelectedFile();
  }
  FileInputStream fin = new FileInputStream(chooser.getSelectedFile());
  DataInputStream din = new DataInputStream(fin);    
  BufferedReader br = new BufferedReader(new InputStreamReader(din)); 

  ArrayList<String> list = new ArrayList<String> ();
  MessageDigest md = MessageDigest.getInstance("MD5");

  String currentLine;
  byte[] buf = new byte[8192];

  int len = 0;
  while ((currentLine = br.readLine()) != null) {
    list.add(currentLine);
    md.update(buf, 0, len);
    System.out.println(currentLine);
  }
  br.close();

  byte[] bytes = md.digest();

  StringBuilder sb = new StringBuilder(2 * bytes.length);
  for (byte b : bytes) {
    sb.append("0123456789ABCDEF".charAt((b & 0xF0) >> 4));
    sb.append("0123456789ABCDEF".charAt((b & 0x0F)));
  }
  String hex = sb.toString();

  System.out.println (buf);
  System.out.println(sb);
}
Respuesta 1

Genera una lista de todas las líneas en el archivo que luego parece que nunca usa. Tal vez debería generar una lista de todas las palabras en el archivo dividiendo cada línea en el espacio en blanco;

for (String word : currentLine.split("\\s+")) {
  list.add(word);
}

Luego puede usar esta lista para crear una lista de hashes para cada palabra;

List<byte[]> hashes = new ArrayList<byte[]>(list.size());
for (String word : list) {
  md.reset();
  hashes.add(md.digest(word));
}
Respuesta: 2

En alto, siga los pasos a continuación.

  1. Leer línea por línea.
  2. Una vez que obtenga la línea spliten \\s+(espacio).
  3. Ahora tiene todas las palabras en la matriz y luego repítelo.
  4. Para cada cadena (palabra) llamada word.hashCode()
Respuesta: 3

Tengo esta cadena: Prueba 123 $ {tag1} lorem ipsum $ {tag2} $ {tag3; etiqueta4} $ {etiqueta5; tag6} dixit lorem $ {tag7} dixit lorem $ {tag8}. Me gustaría tener una expresión regular para seleccionar solo el texto entre $ {etiqueta; etiqueta}. ...

¿Cómo funciona hibernate en términos de lecturas y escrituras? ¿Cómo funciona hibernate si la aplicación escribe más en DB? En este caso, entiendo que la memoria caché debe actualizarse para cada escritura, ...

Estoy usando una implementación BreakIterator en Java para eliminar la puntuación de una cadena. Necesito reescribir esto en Scala, así que pensé que podría ser una buena oportunidad para reemplazarlo con una biblioteca más agradable ...

Cuando agrego un objeto a una Lista y cambio la propiedad del objeto, ese cambio se propagará al objeto en la lista, sin embargo, cuando configuro el objeto como nulo, no obtengo un puntero nulo del ...