¿Qué cifrado utiliza Android para almacenar el pin o la contraseña que se almacena como contraseña.key en root / data / system?

Bueno, no sé sobre el tipo de cifrado … pero puedo decirte que es diferente para diferentes formas de bloqueos como patrón, pin, etc. e incluso para las plataformas de Android.

Turrón tiene las técnicas de cifrado más avanzadas hasta ahora. Gaterkeeper Password Storage (Enrolling) es uno de los tipos de encriptación. La inscripción convierte una contraseña de texto sin formato en un llamado ‘identificador de contraseña’, que es una cadena de bytes opaca, dependiente de la implementación. El identificador de contraseña puede almacenarse en el disco y usarse para verificar si una contraseña proporcionada por el usuario coincide con el identificador registrado actualmente.

Echa un vistazo a la encriptación

typedef uint64_t secure_id_t;
typedef uint64_t salt_t;

const estática uint8_t HANDLE_VERSION = 2;
struct __attribute__ ((__packed__)) password_handle_t {
// campos incluidos en la firma
versión uint8_t;
secure_id_t user_id;
banderas uint64_t;

// campos no incluidos en la firma
sal_t sal;
uint8_t firma [32];

bool hardware_backed;
};

También escuché que eliminar estos dos archivos password.key and gesture.key ayuda a restablecer la contraseña.

Salud !!