Ese algoritmo de barajado utiliza un algoritmo aleatorio asique no puedo reversarlo. En caso de ser un algoritmo pseudoaleatorio no es un CSRNG y podría reversarse y romperse el cifrado.
Yo necesito desordenar en base a la contraseña para reducir los resultados estadísticos de análisis de frecuencia. Se da por hecho que el atacante no conoce la contraseña. Quiero desordenar antes de pasarle vector de inicialización. También tengo que fixear el tamaño a tamaño fijo. Mejorar la implementación, quitar código inútil, ampliar el diccionario de input y cambiar los caracteres de output para que no necesite base64.
Cifrado Live
Si se os ocurre algo mejor comentarlo.
Yo necesito desordenar en base a la contraseña para reducir los resultados estadísticos de análisis de frecuencia. Se da por hecho que el atacante no conoce la contraseña. Quiero desordenar antes de pasarle vector de inicialización. También tengo que fixear el tamaño a tamaño fijo. Mejorar la implementación, quitar código inútil, ampliar el diccionario de input y cambiar los caracteres de output para que no necesite base64.
Cifrado Live
Si se os ocurre algo mejor comentarlo.