This article introduces two methods of cipher encryption, these two are very common can be found at random Baidu.
1. Morse Code;
Say password encryption has to be put to the method. It's a classic.
First of all, tell him the comparison table, directly above the picture.
The core idea is to replace the plaintext cipher and replace the characters with the. two symbols;
2, fence password;
The so-called fence password, is to encrypt the clear text into a group of N, and then the 1th word of each group together, forming a period of irregular words. But the fence code itself has a unspoken rule that the letters that make up the fence are not usually too many. (generally not more than 30, that is, one or two words)
There's nothing to say about it. A chestnut: Encrypt the plaintext asdfghjkl, and divide it into two groups: the base position and the even digit. Then the two groups merged into ADGJLSFHK;
I have a combination of these two encryption methods to a plaintext password triple encryption: The first layer of the fence once, the second layer of fences once again, the third layer of Morse encryption;
First the fence section:
* * Fence decryption class/public class Fence {/* Encryption part/public string encryption (string password)
{String p = new string ();
string P1 = new string ();
string P2 = new string ();
for (int i = 0; i < password.length (); i++) {if (i%2 = = 0) P1 + = p.valueof (Password.charat (i));
else P2 + = p.valueof (Password.charat (i));
return P1+P2;
/* Decryption Part */public string decode (string fencepassword) {String password = new string ();
String p = new string ();
String p1 = fencepassword.substring (0, Fencepassword.length ()/2);
String P2 = fencepassword.substring (Fencepassword.length ()/2);
int i;
for (i = 0; i < p1.length (); i++) {password + = p.valueof (P1.charat (i)) + p.valueof (P2.charat (i));
} if (Fencepassword.length ()%2!= 0) Password + = p.valueof (P2.charat (i));
return password; }
}
Then the Morse section :
This part is more cumbersome, the Morse code and symbol in the match between the problem, want to use an array to store, and then loop to match; but I am a not afraid of trouble to simply a person, on a one-after comparison;
then made a two-time encryption and decryption of the fence when Morse encryption was decrypted; This can be used when encrypting and decrypting as long as the encryption and decryption function of Morse class is invoked.
* Morse encryption and Decryption class * * Import Java.util.StringTokenizer;
public class Morse {* * Morse password and character matching constant * * Final String A = ".-";
Final String B = "---.";
Final String C = "-.-.";
Final String D = "-..";
Final String E = "."; Final String F = "..
-.";
Final String G = "--.";
Final String H = "...";
Final String I = "..";
Final String J = ".---";
Final String K = "-.-";
Final String L = ".-..";
Final String M = "--";
Final String N = "-.";
Final String O = "---";
Final String P = ".--.";
Final String Q = "--.-";
Final String R = ".-.";
Final String S = "...";
Final String T = "-"; Final String U = "..
-";
Final String V = "...-";
Final String W = ".--"; Final String X = "-..
-";
Final String Y = "-.--";
Final String Z = "--..";
Final String $ = "-----";
Final String $ = ".----"; Final String $ = "..
---";
Final String $ = "...-";
Final String $ = "...-";
Final String $ = "...";
Final String $ = "-...."; Final String $ = "--...";
Final String $ = "---..";
Final String $ = "----."; Final String period = ".-.-.-";
// . Final String colon = "---..."; : final String comma = "--.. --"; , final String semicolon = "-.-.-.";
// ; Final String question = ".. --..";
// ? Final String equal = "-...-"; = Final String doublequotation = ".-.. -.";/ /"Final String singlequotation =".----. "; /' final String slash = '-.. -."; Final String exclamation = "-.-.--";
// ! Final String hyphen = "-....-"; -Final String underscore = ".. --.-"; _ Final String lroundbrackets = "-.--."; (Final string rroundbrackets = "-.--.-";//) Final string $ = "...-.. -"; $ final String ampersand = ".-..."; & Final String at = ".--.-."; @ final String plus = ".-.-.";
+//* encryption corresponding match */public String Matching (string str) {switch (str) {case "a": return A;
Case "B": return B;
Case "C": return C;
Case "D": return D; Case "E":
return E;
Case "F": return F;
Case "G": return G;
Case "H": return h;
Case "I": return i;
Case "J": Return J;
Case "K": return K;
Case "L": return L;
Case "M": return m;
Case "n": return n;
Case "O": return o;
Case "P": return p;
Case "Q": Return q;
Case "R": Return r;
Case "S": return S;
Case "T": return t;
Case "U": return u;
Case "V": return v;
Case "W": Return w;
Case "X": Return x;
Case "Y": return y;
Case "Z": Return z;
Case "0": return $;
Case "1": return $;
Case "2": return $;
Case "3": return $;
Case "4": return $ $;
Case "5": return $;
Case "6": return $;
Case "7": return $;
Case "8": return $;
Case "9": return $;
Case ".": Return period; Case ":": return colon;
Case ",": return comma;
Case ";": return semicolon;
Case "?": return question;
Case "=": return equal;
Case "\" ": Return doublequotation;
Case "\": Return singlequotation;
Case "/": return slash;
Case "!": return exclamation;
Case "-": return hyphen;
Case "_": return underscore;
Case "(): Return lroundbrackets;
Case "]": return rroundbrackets;
Case "$": return $;
Case "&": return ampersand;
Case "@": return at;
Case "+": return plus;
Return "";
/* Morse Encryption */public string encryption (string password) {Fence f = new Fence ();
Password = f.encryption (password);
Password = f.encryption (password);
String morsepasswork = new string ();
String MP = new string ();
for (int i = 0; i < password.length (); i++) {MP = mp.valueof (Password.charat (i)); Morsepasswork + = Matching (MP) + "/";
return morsepasswork;
}/* Decrypt the match for the exchange */public String matching2 (String str) {if (Str.equals (A)) return "A";
else if (Str.equals (b)) return "B";
else if (Str.equals (c)) return "C";
else if (Str.equals (d)) return "D";
else if (Str.equals (e)) return "E";
else if (Str.equals (f)) return "F";
else if (str.equals (g)) return "G";
else if (str.equals (h)) return "H";
else if (str.equals (i)) return "I";
else if (Str.equals (j)) return "J";
else if (Str.equals (k)) return "K";
else if (Str.equals (L)) return "L";
else if (Str.equals (m)) return "M";
else if (str.equals (n)) return "n";
else if (str.equals (O)) return "O";
else if (Str.equals (p)) return "P";
else if (str.equals (q)) return "Q";
else if (Str.equals (R)) return "R";
else if (str.equals (s)) return "S"; else if (Str.equals (t)) return "T";
else if (str.equals (U)) return "U";
else if (Str.equals (v)) return "V";
else if (Str.equals (w)) return "W";
else if (str.equals (x)) return "X";
else if (str.equals (y)) return "Y";
else if (Str.equals (z)) return "Z";
else if (str.equals ($)) return "0";
else if (str.equals ($)) return "1";
else if (str.equals ($)) return "2";
else if (str.equals ($)) return "3";
else if (str.equals ($)) return "4";
else if (str.equals ($)) return "5";
else if (str.equals ($)) return "6";
else if (str.equals ($)) return "7";
else if (str.equals ()) return "8";
else if (str.equals ($)) return "9";
else if (str.equals (period)) return ".";
else if (str.equals (colon)) return ":";
else if (str.equals (comma)) return ",";
else if (str.equals (semicolon)) return ";"; else if (str. Equals (question)) return "?";
else if (str.equals (equal)) return "=";
else if (str.equals (doublequotation)) return "\";
else if (str.equals (singlequotation)) return "\";
else if (Str.equals (slash)) return "/";
else if (str.equals (exclamation)) return "!";
else if (str.equals (hyphen)) return "-";
else if (str.equals (underscore)) return "_";
else if (str.equals (lroundbrackets)) return "(";
else if (str.equals (rroundbrackets)) return ";
else if (str.equals ($)) return "$";
else if (str.equals (ampersand)) return "&";
else if (str.equals ()) return "@";
else if (str.equals (plus)) return "+";
else return "";
/* Morse decryption */public string decode (string morsepassword) {String password = new string ();
Fence f = new Fence ();
StringTokenizer p = new StringTokenizer (Morsepassword, "/"); while (P.hasmoreelements ()) {PassWord + = Matching2 (P.nexttoken ());
} password = f.decode (password);
Password = f.decode (password);
return password;
}
}
The above is the entire content of this article, I hope to help you learn, but also hope that we support the cloud habitat community.