Un sistema que estamos introduciendo en la organización no está utilizando ninguna función de hash tradicional que pueda encontrar. Me han asignado "aprobarlo" mediante pruebas de caja negra.
Sospecho que las contraseñas simplemente están siendo ofuscadas o cifradas (no hash) ya que la longitud del resultado cambia con la longitud de la contraseña (aunque parece que hay un mínimo, ¿relleno?).
Aquí hay algunos datos:
password : result 1 : TG3432WB7VU= 11 : r8ahLkJGWbY= 111 : E7fXdNqEWAA= 11111111 : FIcx3a00R4eGhFyHjD56qw== 1111111111 : FIcx3a00R4evxqEuQkZZtg== 2111111111 : GPwnH80qEACvxqEuQkZZtg==
El resultado es obviamente base64, pero no se decodifica a nada legible. Antes de que supiera que la longitud del resultado cambió, intenté tomar los bytes decodificados y tratarlos como MD5 y otras funciones de hash, pero eso obviamente no funcionó. Ahora que sé que el resultado cambia en longitud, estoy considerando otras alternativas peores. Cabe destacar las dos partes en negrita de arriba: son idénticas en dos contraseñas diferentes. Entonces, cada uno de los 8 bytes se procesa de forma independiente (¿por qué?) O se está produciendo alguna sustitución polialfabética (?).
Actualizar:
El sistema acepta cualquier carácter, incluidos los caracteres Unicode, para las contraseñas. Repetir un carácter de 3 bytes 8 veces da como resultado un "hash" de 24 bytes.