이 기사는 두 가지 암호 암호화 방법을 소개합니다.이 방법은 매우 일반적이며 바이두어에서 찾을 수 있습니다.
1. 모스 비밀번호;
비밀번호 암호화 방법에 대해 말하면 언급해야합니다. 매우 고전적인.
먼저, 그의 비교 테이블에 대해 이야기하고 사진을 직접 찍어 봅시다.
핵심 아이디어는 일반 텍스트 암호를 대체하고 해당 문자를 두 기호의 조합으로 바꾸는 것입니다.
2. 울타리 암호;
소위 울타리 비밀번호는 일반 텍스트를 N 그룹으로 암호화 할 일반 텍스트를 나눈 다음 각 그룹의 첫 번째 단어를 연결하여 불규칙한 문장을 형성하는 것입니다. 그러나 울타리 암호 자체에 대한 숨겨진 규칙이 있습니다. 즉, 울타리를 구성하는 글자가 너무 많지 않습니다. (일반적으로 30 세 이하, 즉 하나 또는 두 문장)
예를 들어, 이것에 대해 할 말이 없습니다. 예를 들어, 일반 텍스트 ASDFGHJKL을 암호화 할 수 있습니다. 기본 위치와 짝수 위치의 두 그룹으로 나뉩니다. 그런 다음 두 사람은 adgjlsfhk로 결합됩니다.
나는이 두 가지 암호화 방법과 플레인 텍스트 암호에 대한 트리플 암호화를 결합했습니다. 첫 번째 레이어 울타리는 한 번, 두 번째 레이어 울타리는 한 번, 세 번째 층은 이끼를 다시 암호화합니다.
먼저 울타리 부분 :
/*울타리 암호 해독 및 암호 해독 클래스*/public class 펜스 {/*암호화 부품*/public String 암호화 (문자열 암호) {String p = new String (); 문자열 p1 = new 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)); } 반환 p1+p2; } /*암호 해독 부품* / public string decode (String fencepassword) {String password = new String (); 문자열 p = new String (); 문자열 p1 = fencepassword.substring (0, fencepassword.length ()/2); 문자열 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)); 리턴 비밀번호; }} 그런 다음 Morse 부분이 있습니다.
이 부분은 Morse 암호와 기호 사이의 일치 문제에 관한 것이기 때문에 상당히 복잡합니다. 배열을 사용하여 저장 한 다음 루프를 일치시킬 것으로 생각합니다. 그러나 나는 문제를 두려워하지 않고 단순함만을 추구하는 사람이므로, 나는 하나씩 비교했습니다.
이어서, 모스 암호화 및 암호 해독 동안, 울타리 암호화 및 암호 해독을 두 번 수행 하였다; 이러한 방식으로 암호화 및 암호 해독을 사용할 때 Morse 암호화 및 암호 해독 기능을 호출하십시오.
/*이끼 암호화 및 암호 해독 클래스*/import java.util.stringtokenizer; public class morse {/*Morss 비밀번호와 문자 사이의 일치 상수*/final string a = ".-"; 최종 문자열 b = "---."; 최종 문자열 c = "-.-."; 최종 문자열 d = "-.."; 최종 문자열 e = "."; 최종 문자열 f = "..-."; 최종 문자열 g = "-."; 최종 문자열 h = "..."; 최종 문자열 i = ".."; 최종 문자열 j = ".--"; 최종 문자열 k = "-.-"; 최종 문자열 l = ".- .."; 최종 문자열 m = "-"; 최종 문자열 n = "-."; 최종 문자열 o = "---"; 최종 문자열 p = ".-."; 최종 문자열 q = "-.-"; 최종 문자열 r = ".-."; 최종 문자열 s = "..."; 최종 문자열 t = "-"; 최종 문자열 u = "..-"; 최종 문자열 v = "...-"; 최종 문자열 w = ".-"; 최종 문자열 x = "-..-"; 최종 문자열 y = "-.-"; 최종 문자열 z = "-.."; 최종 문자열 $ 0 = "-----"; 최종 문자열 $ 1 = ".---"; 최종 문자열 $ 2 = "..--"; 최종 문자열 $ 3 = "...-"; 최종 문자열 $ 4 = "..-"; 최종 문자열 $ 5 = "......"; 최종 문자열 $ 6 = "-my"; 최종 문자열 $ 7 = "--..."; 최종 문자열 $ 8 = "--- .."; 최종 문자열 $ 9 = "----."; 최종 문자열 기간 = ".-.-----"; //. 최종 문자열 콜론 = "---..."; // : 최종 문자열 comma = "--..-"; //, 최종 문자열 semicolon = "-.-.-."; //; 최종 문자열 질문 = "..- .."; //? 최종 문자열 동등한 = "-...-"; // = 최종 문자열 두 배의 인용문 = ".-..--."; // "최종 문자열 singlequotation =".--. // (최종 문자열 $ = "...-..-"; A는 "C"; 반환 o; 케이스; "Q"는 "r"을 반환한다. 사례 "X": X; 사례 "y": y; 사례 "z": return z; 사례 "0": $ 0 리턴; 사례 "1": 반환 $ 1; 사례 "2": $ 2를 반환합니다. 사례 "3": 반환 $ 3; 사례 "4": $ 4를 반환합니다. 사례 "5": $ 5를 반환합니다. 사례 "6": 반환 $ 6; 사례 "7": $ 7; 사례 "8": $ 8; 사례 "9": $ 9를 반환합니다. 사례 ".": 반환 기간; 사례 ":": 콜론을 반환합니다. CASE ",": 리턴 쉼표; 사례 ";": 반환 세미콜론; 사례 "?": 반환 질문; CASE "=": 반환 동일; CASE "/": 리턴 듀드 크기출; CASE "/'": 반환 단일 인용문; 사례 "/": 반환 슬래시; CASE "!": 리턴 느낌표; CASE "-": 하이픈 리턴; 사례 "_": 반환 밑줄; CASE "(": 리턴 lroundbrackets; case ") : rroundbrackets를 반환; 사례 "$": return $; 사례 "&": 반환 암페인; 사례 "@": 반환; 사례 "+": 리턴 플러스; } 반품 " "; } /*이끼 암호화* / public String 암호화 (문자열 암호) {fence f = new Fence (); 비밀번호 = F. 암호 (비밀번호); 비밀번호 = F. 암호 (비밀번호); 문자열 morsepasswork = new String (); 문자열 mp = new String (); for (int i = 0; i <password.length (); i ++) {mp = mp.valueof (password.charat (i)); Morsepasswork + = 일치 (MP) + "/"; } return morsepasswork; } /*해당 일치* / public string matching2 (string str) {if (str.equals (a)) return "a"; else if (str.equals (b)) 반환 "b"; else if (str.equals (c)) return "c"; else if (str.equals (d)) 반환 "d"; else if (str.equals (e)) 반환 "e"; else if (str.equals (f)) "f"리턴; else if (str.equals (g)) 반환 "g"; else if (str.equals (h)) 반환 "h"; else if (str.equals (i)) 반환 "i"; else if (str.equals (j)) 반환 "j"; else if (str.equals (k)) 반환 "k"; else if (str.equals (l)) 반환 "l"; else if (str.equals (m)) 반환 "m"; else if (str.equals (n)) 반환 "n"; else if (str.equals (o)) 반환 "o"; else if (str.equals (p)) 반환 "p"; else if (str.equals (q)) 반환 "q"; else if (str.equals (r)) 반환 "r"; else if (str.equals (s)) 반환 "s"; else if (str.equals (t)) return "t"; else if (str.equals (u)) 반환 "u"; else if (str.equals (v)) return "v"; else if (str.equals (w)) 반환 "w"; else if (str.equals (x)) 반환 "x"; else if (str.equals (y)) 반환 "y"; else if (str.equals (z)) return "z"; else if (str.equals ($ 0)) 반환 "0"; else if (str.equals ($ 1)) 반환 "1"; else if (str.equals ($ 2)) Return "2"; else if (str.equals ($ 3)) 반환 "3"; else if (str.equals ($ 4)) 반환 "4"; else if (str.equals ($ 5)) 반환 "5"; else if (str.equals ($ 6)) 반환 "6"; else if (str.equals ($ 7))는 "7"을 반환합니다. else if (str.equals ($ 8)) 반환 "8"; else if (str.equals ($ 9)) 반환 "9"; else if (str.equals (period)) return "."; else if (str.equals (콜론)) 반환 ":"; else if (str.equals (comma)) return ","; else if (str.equals (semicolon)) return ";"; else if (str.equals (question)) retur "?"; else if (str.equals (동일)) return "="; else (str.equals (doblequotation)) return "/" "; else if (str.equals (singlequotation)) return"/' "; else (str.equals (slash)) return"/"; else (str.equals (slash)) 반환"/"; else (str.equals (slash)) retur"/" (Hyphen) 리턴 "; (str.equals(at)) return "@"; else if (str.equals(at)) return "@"; else if (str.equals(at)) return "@"; else if (str.equals($)) return "$"; else if (str.equals(ampersand)) return "&"; else if (str.equals(at)) return "@"; else if (str.equals(plus)) return "+"; else return " "; } /*MoreElement () {password += matching2 (p.nexttoken ())} fadement (password); while (p.hasmoreElements ()) {password += matching2 (p.nextToken ()); } password = f.decode (비밀번호); 비밀번호 = F.decode (비밀번호); 리턴 비밀번호; }}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.