Java Cryptography Encrypt Decrypt

Class: Cryptography
Author: Shahrzad Jahangirian
Language: Java (using Java 6) Download Java 6 and Download Java Runtime 6(JRE)
Date Added: Dec 11, 2013
Licence: All source codes are for showing my skills in Software Development to get me a Job as an Application Developer. You are not allowed to sell this Application or use my codes to develop an application for Sale or apply my codes to develop software for commercial use and profit. You can offer me a price to buy the Application for mass production or buy my codes to develop your application for profit. Also you may offer me a price to buy this Application for your Business and ask me to update the codes to match your Business Requirements.


Description: This is my java programming solution for an exercise from Deitel Book "Java how to program" Ninteh Edition page 150 Exercise 4.38 (Enforcing Privacy with Cryptography) and its description is as follows:
4.38 (Enforcing Privacy with Cryptography) The explosive growth of Internet communications and data storage on Internet connected computers has greatly increased privacy concerns. The field of cryptography is concerned with coding data to make it difficult (and hopefully with the most advanced schemes impossible) for unauthorized users to read. In this exercise you"ll investigate a simple scheme for encrypting and decrypting data. A company that wants to send data over the Internet has asked you to write a program that will encrypt it so that it may be transmitted more securely. All the data is transmitted as four digit integers. Your application should read a four digit integer entered by the user and encrypt it as follows: Replace each digit with the result of adding 7 to the digit and getting the remainder after dividing the new value by 10. Then swap the first digit with the third, and swap the second digit with the fourth. Then print the encrypted integer. Write a separate application that inputs an encrypted four digit integer and decrypts it (by reversing the encryption scheme) to form the original number. [Optional reading project: Research "public key cryptography" in general and the PGP (Pretty Good Privacy) specific public key scheme. You may also want to investigate the RSA scheme, which is widely used in industrial strength applications.]
How to Run: I tested all codes on Windows 7 Command Prompt with Java(TM) SE Runtime Environment 6 on my computer. ( you may download it by visiting this link )
You need to create all files and save it in a folder in your computer such as C:\javacodes and compile and run at command prompt as follows. I assumed you saved all files at C:\javacodes
C:\javacodes> javac Cryptography.java -d c:\javacodes "this statement compiles the class and creates cryptographyPKG package"
C:\javacodes> javac EncryptMain.java "compiles the Main class to test all methods including encrypt and decrypt methods of Cryptography class"
C:\javacodes> Java EncryptMain "and this statement runs the EncryptMain.java"



Cryptography Java class code



This is the EncryptMain class to runs validateSize(String data), isInteger(String input), String encrypt(String data) , String decrypt(String data) methods of Cryptography class