Monday, October 13, 2014

Encrypt AND Decrypt (Shift Key)


public class caseaeCryptShift {

    private final String chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890+-";

    public String encrypt(String plainText, int shiftKey) {
      
        String cipherText = "";
        int charPosition;
        int keyVal;
        char replaceVal;

        for (int i = 0; i < plainText.length(); i++) {
            charPosition = chars.indexOf(plainText.charAt(i));
            keyVal = (charPosition + shiftKey) % 64;

            replaceVal = this.chars.charAt(keyVal);
            cipherText += replaceVal;
        }
        return cipherText;
    }

    public String decrypt(String cipherText, int shiftKey) {
      
        String plainText = "";
        int charPosition;
        int keyVal;
        char replaceVal;

        for (int i = 0; i < cipherText.length(); i++) {
            charPosition = this.chars.indexOf(cipherText.charAt(i));
            keyVal = charPosition - shiftKey;

            if (keyVal < 0) {
                keyVal = this.chars.length() + keyVal;
            }

            replaceVal = this.chars.charAt(keyVal);
            plainText += replaceVal;
        }

        return plainText;
    }
}

No comments:

Post a Comment