Hola, buenas.
Creo que tienes un pequeño lío:
Según comentas, lo que quieres es encriptar las contraseñas del servidor con MD5, opción que está disponible por defecto en el emulador. Puedes hacerlo de forma sencilla en
conf/login-server.conf, cambiando el siguiente parámetro a
yes.
// Store passwords as MD5 hashes instead of plaintext ?// NOTE: Will not work with clients that use <passwordencrypt>use_MD5_passwords: no
Y, en caso de tener un servidor ya en uso, ejecutar
una única vez la siguiente consulta SQL en la base de datos principal del servidor (el archivo
sql-files/tools/convert_passwords.sql):
-- Convert passwords to MD5 HashUPDATE `login` SET `user_pass`=MD5(`user_pass`);
El motivo de usar la consulta una única vez es porque el algoritmo MD5 no es reversible (o sea, que no hay vuelta atrás si decides no utilizarlo). Siendo honestos (y contra toda buena práctica) no se usa casi nunca en ningún servidor en línea por muchos motivos, haciendo que cualquier administrador malintencionado pueda tener acceso sencillo a las contraseñas y sus respectivas cuentas (o incluso cuentas en otros servicios en caso de usuarios confiados) ya que se guardan tal cual en la base de datos (campo `user_pass` de la tabla `login` como puede verse arriba, pero aunque estén encriptadas cualquier persona con luces puede aún así sumplantar tu identidad). Hay gente que no lo activa por mera comodidad aunque no miraría tus contraseñas, y aún así
la seguridad del algoritmo MD5 está muy discutida desde hace años en caso de ataque a tu base de datos.
Por tanto, desconozco cómo de bueno sería usarlo y yo personalmente no la usaría debido a que aporta una seguridad prácticamente nula aunque usarlo fuese una buena práctica. Preferiría ir del lado honesto y simplemente pedir a los usuarios en el formulario de registro que utilicen una contraseña distinta de la que tengan para cualquier otro servicio. Si buscas algo más seguro y tienes algo de conocimientos y tiempo, intentaría implementar otros algoritmos criptográficos como más seguros y pediría que se utilicen en este software. Por desgracia, ni eAthena ni rAthena ni Hercules tienen un modo seguro para almacenar contraseñas de los usuarios aún.
Por otro lado, en el tema que has señalado, de lo que se habla es de un método para evitar modificaciones del cliente, cuyo funcionamiento viene más o menos explicado en el archivo aunque no me importaría comentarlo si necesitas un poco más de información.