Ditulis sebelumnya:
AngularJS adalah kerangka kerja JavaScript. Ini dapat ditambahkan ke halaman HTML melalui tag <script>.
AngularJS memperluas HTML melalui arahan dan mengikat data ke HTML melalui ekspresi.
AngularJS adalah kerangka kerja pengembangan JS yang sangat baik yang dipromosikan oleh Google ...
Tampilan Halaman:
Enkripsi adalah umum dalam aplikasi. Saya pribadi merekomendasikan menerapkan tanda tangan enkripsi di ujung depan (apakah enkripsi ujung depan diperlukan dari Zhihu: http://www.zhihu.com/question/25539382)
Penjelasan singkat tentang algoritma enkripsi base64, md5, dan sha1:
1. Base64 adalah algoritma enkripsi reversibel dan simetris; Base64 memiliki set karakter dasar yang terdiri dari 64 karakter dasar.
Prinsip Enkripsi Base64:
A. Base64 adalah sekelompok 3 byte, dan satu byte menempati 8 bit (bit)
B. Bagilah 24 bit menjadi empat kelompok, masing -masing dengan 6 bit.
C. Kemudian tambahkan 00 di setiap kelompok dua digit tinggi, perluas hingga 32 bit, membentuk empat byte
2. MD5 tanda tangan adalah algoritma Digest pesan yang tidak dapat diubah; Artinya, tidak dapat didekripsi (dari ciphertext ke plaintext) (silakan merujuk ke baidu: http://baike.baidu.com/view/7636.htm) md5 akan menghasilkan pesan 128-bit Digest Digest
A. Isi: Pertama, informasi perlu diisi sehingga hasil dari keseimbangan yang tersisa dari pasangan bit panjangnya 512 sama dengan 448;
B. Variabel Inisialisasi: Nilai 128-bit awal adalah variabel tautan uji coba awal. Parameter ini digunakan dalam putaran pertama operasi dan diekspresikan dalam endianness Endian endian besar. Mereka adalah: a = 0x01234567, b = 0x89abcdef, c = 0xfedcba98, d = 0x76543210
C. Memproses data yang dikelompokkan
D. Output: Output adalah kaskade A, B, C dan D
3. SHA1 Signature adalah algoritma tanda tangan digital yang tidak dapat diubah (silakan merujuk ke Baidu: http://baike.baidu.com/view/1228622.htm) sha1 akan menghasilkan pencernaan pesan 160-bit.
A. Isi: Pertama, informasi perlu diisi sehingga hasil dari keseimbangan yang tersisa dari pasangan bit panjangnya 512 sama dengan 448;
B. Panjang komplemen: Apa yang disebut panjang komplemen adalah untuk mengisi panjang data asli di balik pesan bahwa operasi pengisian telah dilakukan.
C. Konstanta digunakan
D. Fungsi yang Digunakan: Di SHA1 kita membutuhkan serangkaian fungsi. Setiap fungsi ft (0 <= t <= 79) mengoperasikan kata 32-bit b, c, d dan menghasilkan kata 32-bit sebagai output
e. Hitung Ringkasan Pesan: Ringkasan pesan harus dihitung menggunakan pesan setelah pengisian dan penggantian panjang.
Modul Kontrol Login:
Modul Layanan:
var enkripsi = angular.module ('enkripsi', []); enkripsi.service ('md5', function () {var hexcase = 0; /* format output hex. 0 - huruf kecil; 1 - BIPPERCASE* /VAR B64PAD = ""; /* Karakter Pad Base -64. " 8 - ASCII; 16 - Unicode*// *** Metode untuk Panggilan Eksternal*/this.Hex_MD5 = Fungsi (s) {return Binl2Hex (core_md5 (str2binl (s), s.length*chrsz));}/** Hitung Md5 dari array kata -kata bitian, dan A BITIAN, dan A BITIAN, DAN LITM LIFLIAN, DAN A FUNGSI, DAN A FUNGSI, DAN A FUNGSI, DAN A FUNGSI, DAN A FUNGSI, DAN A FUNGSI, DAN LENGAHAN, DAN LIENDIA, DAN LONDIAN, DAN LIF LITIAN, DAN LIF LITIAN, DAN A FUNGSI, DAN A FUNGSI, DAN LIF LITIAN, DAN LENGAHAN, DAN LENGKA Padding */x [len >> 5] | = 0x80 << ((len) % 32); x [(((len + 64) >>> 9) << 4) + 14] = len; var a = 1732584193; var b = -271733879; var c = -1732193; var b = -271733879; var c = -17325184; var b = -27173387; var c = -1732584; i <x.length; i+ = 16) {var old = a; var oldb = b; var oldc = c; var oldd = d; a = md5_ff (a, b, c, d, x [i+ 0], 7, -680876936); 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, 7, -19 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, a, x [i+ 7], 22, -45705983); 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 (c [i+10], 17, -42063); -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, d, b, b, b, c, c, c, c, c, c = c = c = c = c = md5_ff (c, c, c, -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, b, b, b, b, b, b, b, b, cor, -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, -373897302); a = md5_gg (a, b, c, c, de [i]; -701558691); d = md5_gg (d, a, b, c, d, x [i+5], 5, -701558691); d = md5_gg (d, a, b, c, x [i+10], 9, 38016083); c = md5 (c, 9, 38016083); C = md5_g, c, 9, 38016083); -660478335); b = md5_gg (b, c, d, a, x [i+4], 20, -405537848); a = md5_gg (a, b, c, d, x [i+9], 5, 56844648); -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, 1163531501); a = md5_gg (a, a, c, 1163531501); -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, 173532847); -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, d, d, d, x+ 5); md5_gg (b, c, d, a, x [i+ 12], 20, -1926607734); a = md5_hh (a, b, c, d, x [i+ 5], 4, -37858); d = md5_hh (d, a, b, c, x [i+ 8], d = md5_hh (d, a, b, c, x [i+ 8], d = md5_hh (d, a, b, c, x [i+ 8], d = md5_hh (d, a, b, c, x [i+ 8], d = md5_hh (d, a, b, c, x [i+ 8], d = md5_hh (d, a, b, c, x [i+ 8], d = md5_hh (d, a, c, c, c, c, md5_hh (c, d, a, b, x [i+11], 16, 1839030562); b = md5_hh (b, c, d, a, x [i+14], 23, -3530956); a = md5_hh (a, b, c, d, x [i+1], 4, -md5_hh (a, b, c, d, x [i+1], 4, 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, -1094747 (b, c, d, a, x [i+ 10], 23, -1094, -1094. 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_hh (i+ 6], 23, 76029189); a = md5_hh (i+ 6], 76029189); a = md5_ [i+ 6], 76029189); -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 = a = md5_hh (i+ 6], 23, 76029189); a = md5_hh (i+ 6], 76029189); a = md5_hh (i+ 6], 76029189); 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, a, a, d, d, a, d, a, d, d, d, d, d, d, c = d = md. -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, b, b, c, b, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, -198630844); d = md5_ii (d, a, b, c, x [i+ 7], 10, 1126891415); c = md5_ii (c, d, a, b, x [i+ 14], 15, -14163544905); b = md5_ii (b, -14163544905); -57434055); a = md5_ii (a, b, c, d, x [i+12], 6, 1700485571); d = md5_ii (d, a, b, c, x [i+3], 10, -1894986606); c = md5_ii (c, de, d d d, de, b, c, c, c, c, c = c = md5_ii (c, c, c, c = c = c = md5_ii (c, -1051523); b = md5_ii (b, c, d, a, x [i+ 1], 21, -2054922799); a = md5_ii (b, c, d, a, x [i+ 1], 21, -20549227799); a = md5_ii (a, b, c, b, c, b, c, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, 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, de, da, da, c, b, b = md5_ii (b, b, b, b = md5_ii (b, b, 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, d, d, a, c, c = c = md5_ii (c, c, c, c, c, c, c, c, c = c = c = c = md5_ii (c, c, 718787259); b = md5_ii (b, c, d, a, x [i+ 9], 21, -343485551); a = safe_add (a, olda); b = safe_add (b, oldb); c = safe_add (c, oldc); d = safe_add (d oldb); c = safe_add (c, oldc); d = safe_add (d oldb); c = safe_add (c, oldc); d = safe_add d);}}). Service ('base64', function () {_ keyStr = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuVwxyz0123456789+/="; // Metode publik untuk endsoding = {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{functi, " chr2, chr3, enc1, enc2, enc3, enc4; var i = 0; input = _utf8_encode (input); while (i <input.length) {chr1 = input.charcodeat (i ++); chr2 = input.charcodeat (i ++); chr3 = input.charcodeat) (iPr2 = input. << 4) | _keystr.charat (enc2) + _keystr.charat (enc3) + _keystr.charat (enc4);} return output;} // Metode privat untuk uTF-8 encoding_utf8_encode = fungsi (string) {string = string. n ++) {var c = string.charcodeat (n); if (c <128) {utftext += string.fromCharCode (c);} else if ((c> 127) && (c <2048)) {utftext += string.FromCharCode ((c >> 6) | 192); UTFTEXT += String.FromCharCode ((c >> 6) | 192); UTFTEXT += STRING.FROMCHARCODE ((C >> 6) | 192); {utftext += String.FromCharCode ((c >> 12) | 224); utftext += string.fromCharCode ((c >> 6) & 63) | 128); utftext += string.FromCharcode (c & 63) | 128);}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}. Format output. BinB2Hex (core_sha1 (str2binb (s), s.length * chrsz));}/ * * Hitung SHA-1 dari array kata-kata besar-endian, dan sedikit panjang */function core_sha1 (x, len) {/ * apendding */x [len >> 5] | = 0x8 (len) {/ * len padding */x [len >> 5] | >> 9) << 4) + 15] = len; var w = array (80); var a = 1732584193; var b = -271733879; var c = -1732584194; var d = 271733878; var e = -100958976; a;var oldb = b;var oldc = c;var oldd = 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, 5), sha1_ft (j, b, c, 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; safe_add (d, lama); e = safe_add (e, lama);} return array (a, b, c, d, e);}}))Struktur File:
Di atas adalah tanda tangan implementasi dan enkripsi layanan kustom AngularJS yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!