Pues, yo lo resolví en Java, pero tenia un problema, solo me encriptaban las palabras que como cadena la suma de sus elementos daba un número par, pero luego lo corregí con un if, pero cuando pones cadenas muy extensas ya no lo codifica como debe

Creo que hemos pasado por los mismos problemas

Voy a postear mi codigo para que lo analizemos.
Un saludo