[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / prive / javascript / login-sha-min.js
1 /**
2 * Fichiers sha256.js et login.js concaténés et minifiés
3 */
4 var chrsz=8;function safe_add(a,b){var c=(a&65535)+(b&65535);return(a>>16)+(b>>16)+(c>>16)<<16|c&65535}function S(a,b){return a>>>b|a<<32-b}function R(a,b){return a>>>b}function Ch(a,b,c){return a&b^~a&c}function Maj(a,b,c){return a&b^a&c^b&c}function Sigma0256(a){return S(a,2)^S(a,13)^S(a,22)}function Sigma1256(a){return S(a,6)^S(a,11)^S(a,25)}function Gamma0256(a){return S(a,7)^S(a,18)^R(a,3)}function Gamma1256(a){return S(a,17)^S(a,19)^R(a,10)}
5 function core_sha256(a,b){var c=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,
6 3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],d=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],f=Array(64),g,k,l,q,h,m,n,r,p,e,t,u;a[b>>5]|=128<<24-b%32;a[(b+32>>9<<4)+15]=b;for(p=0;p<a.length;p+=16){g=d[0];k=d[1];l=d[2];q=d[3];h=d[4];m=d[5];n=d[6];r=d[7];for(e=0;64>e;e++)f[e]=16>e?a[e+p]:
7 safe_add(safe_add(safe_add(Gamma1256(f[e-2]),f[e-7]),Gamma0256(f[e-15])),f[e-16]),t=safe_add(safe_add(safe_add(safe_add(r,Sigma1256(h)),Ch(h,m,n)),c[e]),f[e]),u=safe_add(Sigma0256(g),Maj(g,k,l)),r=n,n=m,m=h,h=safe_add(q,t),q=l,l=k,k=g,g=safe_add(t,u);d[0]=safe_add(g,d[0]);d[1]=safe_add(k,d[1]);d[2]=safe_add(l,d[2]);d[3]=safe_add(q,d[3]);d[4]=safe_add(h,d[4]);d[5]=safe_add(m,d[5]);d[6]=safe_add(n,d[6]);d[7]=safe_add(r,d[7])}return d}
8 function str2binb(a){var b=[],c;chrsz=8;for(c=0;c<a.length;c++)127<a.charCodeAt(c)&&(chrsz=16);var d=(1<<chrsz)-1;for(c=0;c<a.length*chrsz;c+=chrsz)b[c>>5]|=(a.charCodeAt(c/chrsz)&d)<<24-c%32;return b}function binb2hex(a){for(var b="",c=0;c<4*a.length;c++)b+="0123456789abcdef".charAt(a[c>>2]>>8*(3-c%4)+4&15)+"0123456789abcdef".charAt(a[c>>2]>>8*(3-c%4)&15);return b}function hex_sha256(a){return binb2hex(core_sha256(str2binb(a),a.length*chrsz))}
9 function sha256_self_test(){return"f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650"==hex_sha256("message digest")}var login_info;function affiche_login_secure(){login_info.alea_actuel?jQuery("#pass_securise").show():jQuery("#pass_securise").hide()}
10 function informe_auteur(a){login_info.informe_auteur_en_cours=!1;(a=jQuery.parseJSON(a))?(login_info.alea_actuel=a.alea_actuel,login_info.alea_futur=a.alea_futur,jQuery("input#session_remember:not(.modifie)").prop("checked","1"==a.cnx?!0:!1)):login_info.alea_actuel="";a.logo?jQuery("#spip_logo_auteur").html(a.logo):jQuery("#spip_logo_auteur").html("");affiche_login_secure()}
11 function calcule_hash_pass(a){if((login_info.alea_actuel||login_info.alea_futur)&&!a.match(/^\{([0-9a-f]{32});([0-9a-f]{32})\}$/i)&&!a.match(/^\{([0-9a-f]{64});([0-9a-f]{64});([0-9a-f]{32});([0-9a-f]{32})\}$/i)&&sha256_self_test()){var b="",b=hex_sha256(login_info.alea_actuel+a),b=b+";"+hex_sha256(login_info.alea_futur+a);window.calcMD5&&(b=b+";"+calcMD5(login_info.alea_actuel+a),b=b+";"+calcMD5(login_info.alea_futur+a));jQuery("input[name=password]").prop("value","{"+b+"}")}}
12 function actualise_auteur(){login_info.login!=jQuery("#var_login").prop("value")&&(login_info.informe_auteur_en_cours=!0,login_info.login=jQuery("#var_login").prop("value"),jQuery.get(login_info.page_auteur,{var_login:login_info.login,var_compteur:(new Date).getTime()},informe_auteur))}
13 function login_submit(){actualise_auteur();var a=jQuery("input[name=password]"),b=a.prop("value");if(b){if(login_info.informe_auteur_en_cours&&5>login_info.attente_informe)return login_info.attente_informe++,jQuery("form#formulaire_login").animeajax().find("p.boutons input").before("."),setTimeout(function(){jQuery("form#formulaire_login").submit()},1E3),!1;login_info.alea_actuel||login_info.alea_futur?(a.after('<input name="password" type="hidden" value="" />').prop("value",b),a.prop("name","nothing").prop("value",
14 ""),calcule_hash_pass(b)):login_info.informe_auteur_en_cours&&a.prop("value","")}};