mbuet2ner / JEasyCrypto

A project for educational purposes for the course "Open Source Software Development" at the University of Oulu
GNU General Public License v3.0
2 stars 23 forks source link

Crypto methods as plugin libraries loadable at runtime #45

Open anttijuu opened 4 years ago

anttijuu commented 4 years ago

If you take a look at the C++ implementation of EasyCrypto and the video demo linked also in the readme file, you can see that it is possible to add new crypto methods to that system while the server is running by using dynamically loadable plugin DLLs.

Currently in JEasyCrypto, you have to add code by hand to the EasyCrypto.jar classes, build it, and then relaunch the server to use the new crypto methdos. It would be much more flexible to add each crypto method as a java library (jar) and reimplement the main lib to similarly reload new crypto jars always when the request crypto method request comes from a client. Then adding a new crypto method would not require rebuilding the EasyCryptoLib.jar, nor restarting the server. Much more flexible and keeping the server running 365/24/7 would increase the availability of the system to users.

A starting point for implementing dynamically loadable jars in runtime could be e.g. this.

Needless to say that this is a bit challenging to do so maybe there is no time for this, unless there are skilled Java programmes among the contributors who have some time to spend on this.