Last active
December 23, 2017 19:46
-
-
Save bilalProgTech/81d289dbd345f1ff3205d468a83c6728 to your computer and use it in GitHub Desktop.
Fibonacci & Cryptography Method for Confidential Messages/Passwords
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package code; | |
public class Cryption | |
{ | |
StringBuffer key = new StringBuffer("abcd"); | |
public String encryptText(String password) | |
{ | |
int a = 0, b = 1, c = 0, m = 0, k = 0, j = 0; | |
String cipher = "", temp = ""; | |
StringBuffer pw = new StringBuffer(password); | |
pw = pw.reverse(); | |
pw = pw.append(key); | |
temp = pw.toString(); | |
char stringArray[] = temp.toCharArray(); | |
String evenString = "", oddString = ""; | |
char evenArray[]; | |
char oddArray[]; | |
for (int i = 0; i < stringArray.length; i++) | |
{ | |
if(i%2 == 0) | |
{ | |
oddString = oddString + Character.toString(stringArray[i]); | |
} | |
else | |
{ | |
evenString = evenString + Character.toString(stringArray[i]); | |
} | |
} | |
evenArray = new char[evenString.length()]; | |
oddArray = new char[oddString.length()]; | |
while(m <= key.length()) | |
{ | |
if(m == 0) | |
m = 1; | |
else | |
{ | |
a = b; | |
b = c; | |
c = a + b; | |
for (int i = 0; i < evenString.length(); i++) | |
{ | |
int p = evenString.charAt(i); | |
int cip = 0; | |
if(p == '0' || p == '1' || p == '2' || p == '3' || p == '4' || p == '5' || p == '6' | |
|| p == '7' || p == '8' || p == '9') | |
{ | |
cip = p - c; | |
if(cip < '0') | |
cip = cip + 9; | |
} | |
else | |
{ | |
cip = p - c; | |
if(cip < 'a') | |
{ | |
cip = cip + 26; | |
} | |
} | |
evenArray[i] = (char) cip; | |
} | |
for (int i = 0; i < oddString.length(); i++) | |
{ | |
int p = oddString.charAt(i); | |
int cip = 0; | |
if(p == '0' || p == '1' || p == '2' || p == '3' || p == '4' || p == '5' || p == '6' | |
|| p == '7' || p == '8' || p == '9') | |
{ | |
cip = p + c; | |
if(cip > '9') | |
cip = cip - 9; | |
} | |
else | |
{ | |
cip = p + c; | |
if(cip > 'z') | |
{ | |
cip = cip - 26; | |
} | |
} | |
oddArray[i] = (char) cip; | |
} | |
m++; | |
} | |
} | |
for (int i = 0; i < stringArray.length; i++) | |
{ | |
if(i%2 == 0) | |
{ | |
stringArray[i] = oddArray[k]; | |
k++; | |
} | |
else | |
{ | |
stringArray[i] = evenArray[j]; | |
j++; | |
} | |
} | |
for (char d : stringArray) | |
{ | |
cipher = cipher + d; | |
} | |
return cipher; | |
} | |
public String decryptText(String cipher) | |
{ | |
int a = 0, b = 1, c = 0, m = 0, k = 0, j = 0; | |
String plain = ""; | |
char cipherArray[] = cipher.toCharArray(); | |
String oddString = "", evenString = ""; | |
char evenArray[]; | |
char oddArray[]; | |
for (int i = 0; i < cipherArray.length; i++) | |
{ | |
if(i%2 == 0) | |
{ | |
oddString = oddString + Character.toString(cipherArray[i]); | |
} | |
else | |
{ | |
evenString = evenString + Character.toString(cipherArray[i]); | |
} | |
} | |
evenArray = new char[evenString.length()]; | |
oddArray = new char[oddString.length()]; | |
while(m <= key.length()) | |
{ | |
if(m == 0) | |
m = 1; | |
else | |
{ | |
a = b; | |
b = c; | |
c = a + b; | |
for (int i = 0; i < evenString.length(); i++) | |
{ | |
int p = evenString.charAt(i); | |
int cip = 0; | |
if(p == '0' || p == '1' || p == '2' || p == '3' || p == '4' || p == '5' || p == '6' | |
|| p == '7' || p == '8' || p == '9') | |
{ | |
cip = p + c; | |
if(cip > '9') | |
cip = cip - 9; | |
} | |
else | |
{ | |
cip = p + c; | |
if(cip > 'z') | |
{ | |
cip = cip - 26; | |
} | |
} | |
evenArray[i] = (char) cip; | |
} | |
for (int i = 0; i < oddString.length(); i++) | |
{ | |
int p = oddString.charAt(i); | |
int cip = 0; | |
if(p == '0' || p == '1' || p == '2' || p == '3' || p == '4' || p == '5' || p == '6' | |
|| p == '7' || p == '8' || p == '9') | |
{ | |
cip = p - c; | |
if(cip < '1') | |
cip = cip + 9; | |
} | |
else | |
{ | |
cip = p - c; | |
if(cip < 'a') | |
{ | |
cip = cip + 26; | |
} | |
} | |
oddArray[i] = (char) cip; | |
} | |
m++; | |
} | |
} | |
for (int i = 0; i < cipherArray.length; i++) | |
{ | |
if(i%2 == 0) | |
{ | |
cipherArray[i] = oddArray[k]; | |
k++; | |
} | |
else | |
{ | |
cipherArray[i] = evenArray[j]; | |
j++; | |
} | |
} | |
for (char d : cipherArray) | |
{ | |
plain = plain + d; | |
} | |
StringBuffer plai = new StringBuffer(plain); | |
plai.reverse(); | |
plain = plai.toString(); | |
plain = plain.substring(key.length()); | |
return plain; | |
} | |
public static void main(String args[]) | |
{ | |
System.out.println("Encryption of Hello is "+encryptText("Hello")); | |
//Same for Decryption | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment