Skip to content
dpmendes edited this page Aug 13, 2016 · 17 revisions

Welcome to the crypto wiki!

System Architecture

Classes Diagram

Crypto Classes

Web Pages

JavaServer Faces Pages

Deployment Procedure

where 'yyy' is any username you choose and '12345678' can be any password, as long as it is EXACTLY 8 characters long.

  • Install Tomcat v7.0 server

  • Deploy 'Crypto/WEB_APP/Crypto.war'

  • Access the deployed application 'home.xhtml'

  • Login with the user inserted in MongoDB (user 'yyy', password '12345678' in the previous example)

  • After a successful login, try the Encrypt, Decrypt and Log pages

Challenges

  1. Unable to create a key manually in order to compare the DES Java encrypter to online tools.
  2. Plain DES encryption has been used in order to be able to generate always the same key. Thus, Unit Tests can be run successfully on the DES encrypter class.
  3. Adding the JavaServer Faces facet to the project. Many plugins had to be installed.
  4. Some JAR packages did not carry over to the Web Application automatically. They had to be copied manually from each of their local folders to WebContent/WEB-INF/lib.

Known Issues

  1. DES encryption can be switched to more powerful algorithms.
  2. MongoDBClient closes the database connection on its finalize() method.
  3. MongoDB use can be optimized by using Spring Data for MongoDB. Reference: http://spring.io/guides/gs/accessing-data-mongodb/
  4. The application web pages can be made dynamic by using Facelets.

Clone this wiki locally