Coder Social home page Coder Social logo

encryptor-binary's Introduction


    Encryptor 1.1
Author: Samuel Huang
Date:   30/04/2016

    Revision History
Encryptor 1.0:      24/04/2016

* How to run:

    1. Install JDK 7.x or 8.x first. JDK 6 most likely won't work as encryptor uses Log4j 2.5 API
       and Log4j 2 website states

            Log4j 2.4 and greater requires Java 7, versions 2.0-alpha1 to 2.3 required Java 6

    2. To run it after downloading Encryptor_1.x.zip file:
        
       In Windows OS, after unzipping the zip file, open the Encryptor folder containing 
       Encryptor.jar then double click encryptor.bat.

    3. To run it after building the project yourself:
       Copy contents of ./dist folder (which contains the built artefacts) to a folder, also copy
       encryptor.bat into that folder, then simply double click encryptor.bat to run.

* See 'encryptor walkthrough.docx' if interested to enhance, maintain, build project or learn how 
  it's implemented.

   
    ============================================================
	
* Encryptor is a simple desktop application implemented in Java Swing to: 
 
1. Encrypt/decryptor data using either AES/Twofish algorithm in the 'Symmetric-key Encryption' tab.

   Both AES & Twofish algorithms are used widely in the real world and considered secure.
   
   Both the 'Key' and 'Data' text fields need to be populated before encryption can happen.
      
   The encrypted data could also be decrypted using the key in the 'Key' text field. 
   
   The encryption key can be randomly generated by clicking the 'Generate' button. 
   
   The generated key in 'Key' text field will be Base64 encoded string from the generated binary data.
    
   The encryption key can be generated in 3 different sizes, 128, 192 and 256 bits by using the 'Key size' 
   drop down list.
   
   The longer the key length, the stronger the strength of encryption will be in theory so always use the 
   longest key size. Performance hit will be negligible.
      
2. Hash data in the 'Hash Function' tab. The available hash functions to choose from are MD5, SHA-1, SHA-256 and 
   BCrypt. See https://en.wikipedia.org/wiki/Cryptographic_hash_function for more details of hash functions.
      
   A hash function is basically a one-way hash of input data such that once hashed, the data is practically 
   impossible to revert back to its original input. 
   
   The most common application of hash function is to generate hashed string of passwords for storing in database.
   
   Note BCrypt hash function requires the generation of its own dedicated salt to work. This means BCrypt hash would
   only work with salt generated by the Generate button when the Algorithm ‘drop down list’ selects BCrypt, else error
   message will be shown at the bottom of panel.

   Do not use MD5 to hash data for new project, period. It's considered insecure and has been shown to be cracked 
   REPEATEDLY.
   
   Many legacy applications are stuck with MD5 hashed passwords stored in database. That should be the only reason 
   for using MD5 in production. See https://www.raymond.cc/blog/ask-raymond-how-to-decrypt-md5-hashed-strings/ to 
   see how secure it is.
       

  
	 
	 

encryptor-binary's People

Watchers

James Cloos avatar Samuel avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.