В этой статье представлены два метода шифрования пароля, которые очень распространены и могут быть найдены по желанию на Baidu.
1. Пароль Морса;
Говоря о методе шифрования пароля, мы должны упомянуть. Очень классический.
Во -первых, давайте поговорим о его столе для сравнения и сфотографируем.
Основная идея состоит в том, чтобы заменить пароль простого текста и заменить соответствующие символы комбинацией двух символов;
2. Забор пароля;
Так называемый пароль ограждения состоит в том, чтобы разделить простой текст, который будет зашифрован на группы N, а затем подключить первое слово каждой группы, чтобы сформировать нерегулярное предложение. Тем не менее, существует скрытое правило для самого пароля забора, то есть, как правило, не так много букв, которые составляют забор. (Как правило, не более 30, то есть одно или два предложения)
Например, об этом нечего сказать, вы можете зашифровать простой текст asdfghjkl; Он разделен на две группы: базовое положение и равномерное положение. Затем они объединяются в adgjlsfhk;
Я объединил эти два метода шифрования и тройное шифрование для пароля с открытым текстом: один раз забор в первом слое, один раз, забор второго слоя, и третий слой снова шифрует мох;
Сначала часть забора:
/*Забор дешифрования и дешифрования класс*/public Class Fence {/*incryption part*/public String incryption (String password) {string p = new String (); String p1 = new String (); Строка p2 = new String (); для (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 FallPassword) {String password = new String (); String p = new String (); String P1 = FARTPASSWORD.SUBSTRING (0, FARTPASSWORD.Length ()/2); String P2 = FARTPASSWORD.SubString (FARTPASSWORD.Length ()/2); int i; for (i = 0; i <p1.length (); i ++) {пароль += p.valueof (p1.charat (i)) +p.valueof (p2.charat (i)); } if (fortpassword.length ()%2! = 0) пароль += p.valueof (p2.charat (i)); вернуть пароль; }} Тогда есть часть Морса :
Эта часть довольно сложна, потому что речь идет о проблеме сопоставления между паролями Морса и символами. Я думаю об использовании массива для хранения, а затем цикл, чтобы соответствовать им. Но я человек, который не боится неприятностей и ищет только простоту, поэтому я сравнил один за другим;
Затем, во время шифрования и дешифрования Морса, шифрование и дешифрование ограждения проводились дважды; Таким образом, при использовании шифрования и дешифрования просто вызовите функцию шифрования и дешифрования Морса.
/*Класс шифрования и дешифрования Moss*/import java.util.stringtokenizer; открытый класс 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 = "-...."; окончательная строка $ 7 = "--..."; окончательная строка $ 8 = "--- .."; окончательная строка $ 9 = "----."; окончательная строка периода = ".- .-- .--"; //. окончательная строка Colon = "---..."; //: окончательная строка comma = "--..--"; //, final String semicolon = "-.-.-."; //; окончательная строка вопроса = "..-- .."; //? окончательная строка равна = "-...-"; // = final String Double Quotation = ".-..--."; // "Final String sintQuotation =" .--. "; // 'final String slash =" -..--. "-."; Дело ":« Возвращение »; Дело "O": вернуть O; Дело "x": return 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 "/": return doublequotation; case "/'": return onequotation; Дело "/": return slash; Дело "!": вернуть восклицание; Case "-": return yephen; case "_": вернуть подряд; case "(": return lroundbrackets; case ")": return rroundbrackets; Дело "$": return $; Case "&": return ampersand; case "@": вернуться в; case "+": return plus; } возвращаться " "; } /*MOSS Encryption* / Public String Encryption (String Password) {FERNT F = новый FERNT (); пароль = f.Encryption (пароль); пароль = f.Encryption (пароль); String morsepasswork = new String (); String mp = new String (); for (int i = 0; i <password.length (); i ++) {mp = mp.valueof (password.charat (i)); MorsePassWork + = Сопоставление (MP) + "/"; } вернуть MorsePasswork; } /*Расшифровывать соответствующее совпадение* / public String Matching2 (String str) {if (str.equals (a)) return "a"; иначе if (str.equals (b)) вернуть "b"; иначе if (str.equals (c)) вернуть "c"; иначе if (str.equals (d)) вернуть "d"; иначе if (str.equals (e)) вернуть "e"; иначе if (str.equals (f)) вернуть «f»; иначе if (str.equals (g)) вернуть "g"; иначе if (str.equals (h)) вернуть "h"; иначе if (str.equals (i)) вернуть "i"; иначе if (str.equals (j)) вернуть "j"; иначе if (str.equals (k)) вернуть "k"; иначе if (str.equals (l)) вернуть "l"; иначе if (str.equals (m)) вернуть "m"; иначе if (str.equals (n)) вернуть "n"; иначе if (str.equals (o)) вернуть "o"; иначе if (str.equals (p)) вернуть "p"; иначе if (str.equals (q)) вернуть "q"; иначе if (str.equals (r)) вернуть "r"; иначе if (str.equals (s)) возврат "s"; иначе if (str.equals (t)) вернуть "t"; иначе if (str.equals (u)) вернуть "u"; иначе if (str.equals (v)) вернуть "v"; иначе if (str.equals (w)) вернуть "w"; иначе if (str.equals (x)) вернуть "x"; иначе if (str.equals (y)) вернуть "y"; иначе if (str.equals (z)) вернуть "z"; иначе if (str.equals ($ 0)) возврат "0"; иначе if (str.equals ($ 1)) возврат "1"; иначе if (str.equals ($ 2)) возврат "2"; иначе if (str.equals ($ 3)) возврат "3"; иначе if (str.equals ($ 4)) возврат "4"; иначе if (str.equals ($ 5)) возврат "5"; иначе if (str.equals ($ 6)) возврат "6"; иначе if (str.equals ($ 7)) возврат "7"; иначе if (str.equals ($ 8)) возврат "8"; иначе if (str.equals ($ 9)) возврат "9"; иначе if (str.equals (период)) возврат "."; иначе if (str.equals (colon)) return ":"; иначе if (str.equals (comma)) return ","; иначе if (str.equals (semicolon)) return ";"; "; иначе if (str.equals (Вопрос)) возвращает "?"; иначе if (str.equals (ровно)) return "="; else if (str.equals (двойная квокация)) возвращает "/" "; else if (str.equals (sintquotation)) возвращает"/'"; else if (str.equals (slash)) return"/"; else if (str.equals (slash)) return"/"; else (str.equals (slash)) вернуть"/"; иначе (Ersh ecavals (Exation); (str.Equals (yasphen)) возвращает "-"; (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 " "; } /*MoreLements ()) {Password += Matching2 (P.NextToken ()); while (p.hasmoreelements ()) {password += matching2 (p.nexttoken ()); } password = f.decode (пароль); пароль = f.decode (пароль); вернуть пароль; }}Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.