Cómo simular SHA1 en SQLite con Java
Anuncio:
SQLite no implementa la función SHA1 de MySQL o MariaDB, en esta ocasión te quiero mostrar cómo simular la función SHA1 en SQLite con Java.
Lo que vamos a hacer es hacer la simulación con Java y enviar el resultado directamente a la base de datos. Para ello podemos declarar el siguiente método:
public String simulateSHA1(String text) {
String stringHash = null;
try {
MessageDigest md = MessageDigest.getInstance("SHA-1");
md.update(text.getBytes());
BigInteger hash = new BigInteger(1, md.digest());
stringHash = hash.toString(16);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return stringHash;
}
A este método le estamos pasando la variable que deseamos hashear y devuelve el string hasheado. Para ello utilizamos las clases MessageDigest con la instancia de SHA-1 y la clase BigInteger para formar el string final convertido.
De este modo, puedes hacer un insert o un select directamente con el dato devuelvo por este método sin usar la función SHA1() en SQLite ya que no lo implementa.
Ya sabes cómo simular la función SHA1 en SQLite con Java. Puedes aprender más en nuestra sección de Java.
Espero que te haya sido de utilidad!