Написано ранее:
Angularjs - это рамка JavaScript. Его можно добавить на HTML -страницы через тег <croppling>.
AngularJS расширяет HTML через директивы и связывает данные с HTML посредством выражений.
AngularJS - отличная структура разработки JS, продвигаемая Google ...
Отображение страницы:
Шифрование распространено в приложениях. Я лично рекомендую реализовать подписи шифрования на передней части (независимо от того, необходимо ли зашифрование переднего конца от Zhihu: http://www.zhihu.com/question/25539382)
Краткое объяснение алгоритмов шифрования Base64, MD5 и SHA1:
1. BASE64 - обратимый и симметричный алгоритм шифрования; Base64 имеет базовый набор символов, состоящий из 64 основных символов.
BASE64 Принцип шифрования:
а Base64 - это группа из 3 байтов, а один байт занимает 8 бит (бит)
беременный Разделите 24 бита на четыре группы, каждая с 6 битами.
в Затем добавьте 00 в каждой группе с двумя цифрами, расширяйте до 32 бит, образуя четыре байта
2. Подпись MD5 - необратимый алгоритм расщепления сообщений; то есть его нельзя расшифровать (от Ciphertext до plusext) (пожалуйста, см. Baidu: http://baike.baidu.com/view/7636.htm) MD5 будет генерировать 128-битное дадест сообщений
а Заполните: Во -первых, информация должна быть заполнена таким образом, чтобы результат оставшегося баланса пары 512 длины битов равна 448;
беременный Переменная инициализация: начальное 128-битное значение-это первая переменная пробной ссылки. Эти параметры используются в первом раунде операций и выражаются в эндьянской эндийской эндийской среде. Они: a = 0x01234567, b = 0x89abcdef, c = 0xfedcba98, d = 0x76543210
в Обработка сгруппированных данных
дюймовый Вывод: выход - это каскад A, B, C и D
3. Sha1 Signature-это необратимый алгоритм цифровой подписи (пожалуйста, обратитесь к Baidu: http://baike.baidu.com/view/1228622.htm) SHA1 создаст 160-битный дигест сообщения.
а Заполните: Во -первых, информация должна быть заполнена таким образом, чтобы результат оставшегося баланса пары 512 длины битов равна 448;
беременный Длина дополнения: так называемая длина комплемента состоит в том, чтобы заполнить длину исходных данных, стоящих за сообщением о том, что операция заполнения была выполнена.
в Постоянные используются
дюймовый Используемые функции: в SHA1 нам нужна серия функций. Каждая функция ft (0 <= t <= 79) управляет 32-разрядными словами B, C, D и генерирует 32-разрядные слова как вывод
эн. Рассчитайте резюме сообщения: Сводка сообщения должна быть рассчитана с использованием сообщений после заполнения и замены длины.
Модуль управления входом в систему:
Модуль обслуживания:
var incryption = angular.module ('incryption', []); incryption.service ('md5', function () {var hexcase = 0; /* Выходной формат шестигранного. - ASCII; */x [len >> 5] | = 0x80 << ((len) % 32); x [(((Len + 64) >>> 9) << 4) + 14] = len; var a = 1732584193; var b = -271733879; var c = -1732584194; var d = 27173878; x.length; MD5_FF (C, D, A, B, X [I+ 2], 17, 606105819); B = MD5_FF (B, C, D, A, X [I+ 3], 22, -1044525330); A = MD5_FF (A, B, C, D, X [I+ 4], 7, -176414187); b, c, x [i+ 5], 12, 1200080426); c = md5_ff (c, d, a, b, x [i+ 6], 17, -1473231341); b = md5_ff (b, c, d, x, x [i+ 7], 22, -45705983); A = md5_ff (A, а (я+ 7]. 8], 7, 1770035416); D = MD5_FF (D, A, B, C, X [I+9], 12, -1958414417); C = MD5_FF (C, D, A, B, X [I+10], 17, -42063); B = MD5_FF (b, c, d, x, x+11], 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22); -1990404162);a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632); C = MD5_GG (C, D, A, B, X [I+ 1], 14, 643717713); B = MD5_GG (B, C, D, A, x [I+ 0], 20, -373897302); A = MD5_GG (A, B, C, D, X+ 5], 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, MD5_GG -701558691); D = MD5_GG (D, A, B, C, D, X [I+5], 5, -701558691); D = MD5_GG (D, A, B, C, C, X [I+10], 9, 38016083); C = MD5_GG (C, D, B, x, x, x, x, x, x, x. -660478335);b = md5_gg(b, c, d, a, x[i+4], 20, -405537848);a = md5_gg(a, b, c, d, x[i+9], 5 , 568446438);d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690); C = MD5_GG (C, D, A, B, X [I+3], 14, -187363961); B = MD5_GG (B, C, D, A, X [I+8], 20, 1163531501); A = MD5_GG (A, B, C, D, X+13], 5, 5, 5, 5, 5, 5, 5, 13], 5, 5, 5, 13], 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 13, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 -1444681467);d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734); a = MD5_HH (A, B, C, D, X [I+ 5], 4, -378558); D = MD5_GG (B, C, D, A, X [I+ 5], 4, -378558); D = MD5_GG (B, C, D, a, x I+ 5], 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4) md5_gg (b, c, d, a, x [i+ 12], 20, -1926607734); a = md5_hh (a, b, c, d, x [i+ 5], 4, -378558); d = md5_hh (d, a, b, c, x [i+ 8], 11, -2025744463); MD5_HH (C, D, A, B, X [I+11], 16, 1839030562); B = MD5_HH (B, C, D, A, X [I+14], 23, -35309556); A = MD5_HH (A, B, C, D, X [I+1], 4, -1530920606060606060606060606060606060606060606060606060606060.HH (A, B, C, D, X [I+1], 4, -153092060606060606060606060. A, B, C, X [I+ 4], 11, 1272893353); C = MD5_HH (C, D, A, B, X [I+ 7], 16, -155497632); B = MD5_HH (B, C, D, A, X [I+ 10], 23, -1094730640); x [i+ 13], 4, 681279174); d = md5_hh (d, a, b, c, x [i+ 0], 11, -358537222); c = md5_hh (c, d, a, b, X [i+ 3], 16, -722521979); 6], 23, 76029189); a = md5_hh (A, B, C, D, x [I+ 6], 23, 76029189); A = MD5_HH (A, B, C, D, X [I+ 6], 23, 76029189); A = MD5_H (A, B, C, D+ 0], 11, 11, DSTER. -358537222); C = MD5_HH (C, D, A, B, X [I+ 3], 16, -722521979); B = MD5_HH (B, C, D, A, X [I+ 6], 23, 76029189); A = MD5_H (A, B, C, D+ 6, 23, 23, 23, 23, 23, 23, x. 76029189);a = md5_hh(a, b, c, d, x[i+ 6], 23, 76029189);a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844); D = MD5_II (D, A, B, C, X [I+ 7], 10, 1126891415); C = MD5_II (C, D, A, B, X [I+ 14], 15, -1416354905); B = MD5_II (B, C, D, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x. -57434055); a = md5_ii (A, B, C, D, X [I+12], 6, 17004855571); D = MD5_II (D, A, B, C, X [I+3], 10, -189498606); C = MD5_II (C, D, x, x, x, x, x, x, x. -1051523); b = md5_ii (b, c, d, a, x [i+ 1], 21, -2054922799); a = md5_ii (b, c, d, a, x [i+ 1], 21, -2054922799); a = md5_ii (a, b, c, d, x+ 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6. 1873313359); D = MD5_II (D, A, B, C, X [I+15], 10, -30611744); C = MD5_II (C, D, A, B, X [I+6], 15, -1560198380); B = MD5_II (B, C, D, x, x+13], 21, 21, 21, 21, 21); 1309151649);a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259); b = md5_ii (b, c, d, a, x [i+ 9], 21, -3434855551); a = safe_add (a, olda); b = safe_add (b, oldb); c = safe_add (c, oldc); d = safe_add (d, oldd); d);}}). Service ('base64', function () {_ keystr = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789+/="; // public for incodingThishis.encode = function (input) {intoplow) {vart woptraints = "; chr3, enc1, enc2, ec3, ec4; var i = 0; input = _utf8_encode (input); while (i <input.length) {chr1 = input.charcodeat (i ++); chr2 = input.charcodeat (i ++); chr3 = input.charcodeat (i ++); >> 4); Enc3 = ((chr2 & 15) << 2) | +_KeyStr.Charat (ec3) +_keyStr.charat (ec4);} return output;} // Приватный метод для UTF-8 encoding_utf8_encode = function (string) {string = string.replace (// r/n/g, "/n"); var utfText = "; string.charcodeat (n); if (c <128) {utftext += string.fromCharcode (c);} else if (c> 127) && (c <2048)) {utftext += string.fromchade ((c >> 6) | 192); utftext += strom.from.fromChade (c & 63); String.fromChade ((C >> 12) | 224); UTFTEXT += String.FromCharcode ((C >> 6) & 63) | Нижний регистр 1 - Верхние S.Length * chrsz));}/ * * * Рассчитайте SHA-1 массива биг-эндэдийских слов, и длина бита */function core_sha1 (x, len) {/ * Приложение наклоново Массив (80); var a = 1732584193; var b = -271733879; var c = -1732584194; var d = 271733878; var e = -1009589776; для (var i = 0; I <x.length; i += 16) {var old = var = b; d; var Old = e; for (var j = 0; j <80; j ++) {if (j <16) w [j] = x [i+j]; else w [j] = rol (w [j - 3] ^ w [j - 8] ^ w [j - 14] ^ w [j - 16], 1); var t = safe_add (safe_add (rol (a, j - sha1_ft, j, j, j. d)), safe_add (safe_add (e, w [j]), sha1_kt (j))); e = d; d = c; c = rol (b, 30); b = a; a = t;} a = safe_add (a, olda); b = safe_add (b, oldb); c = safe_add (c, oldc); d = dafe_add; d = dabe_add; d = dafe_add; safe_add (e, old);} return array (a, b, c, d, e);}})Структура файла:
Выше приведено подпись реализации и шифрование пользовательской сервиса AngularJS, введенной вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!