janhancic/hn-unread-comments

View on GitHub
lib/phpjs.js

Summary

Maintainability
A
0 mins
Test Coverage
// md5 & utf8_encode functions from the php.js project (http://phpjs.org/)
function md5(a){var b,p,q,r,s,t,u,v,w,x,c=function(a,b){return a<<b|a>>>32-b},d=function(a,b){var c,d,e,f,g;return e=2147483648&a,f=2147483648&b,c=1073741824&a,d=1073741824&b,g=(1073741823&a)+(1073741823&b),c&d?2147483648^g^e^f:c|d?1073741824&g?3221225472^g^e^f:1073741824^g^e^f:g^e^f},e=function(a,b,c){return a&b|~a&c},f=function(a,b,c){return a&c|b&~c},g=function(a,b,c){return a^b^c},h=function(a,b,c){return b^(a|~c)},i=function(a,b,f,g,h,i,j){return a=d(a,d(d(e(b,f,g),h),j)),d(c(a,i),b)},j=function(a,b,e,g,h,i,j){return a=d(a,d(d(f(b,e,g),h),j)),d(c(a,i),b)},k=function(a,b,e,f,h,i,j){return a=d(a,d(d(g(b,e,f),h),j)),d(c(a,i),b)},l=function(a,b,e,f,g,i,j){return a=d(a,d(d(h(b,e,f),g),j)),d(c(a,i),b)},m=function(a){for(var b,c=a.length,d=c+8,e=(d-d%64)/64,f=16*(e+1),g=new Array(f-1),h=0,i=0;c>i;)b=(i-i%4)/4,h=8*(i%4),g[b]=g[b]|a.charCodeAt(i)<<h,i++;return b=(i-i%4)/4,h=8*(i%4),g[b]=g[b]|128<<h,g[f-2]=c<<3,g[f-1]=c>>>29,g},n=function(a){var d,e,b="",c="";for(e=0;3>=e;e++)d=255&a>>>8*e,c="0"+d.toString(16),b+=c.substr(c.length-2,2);return b},o=[],y=7,z=12,A=17,B=22,C=5,D=9,E=14,F=20,G=4,H=11,I=16,J=23,K=6,L=10,M=15,N=21;for(a=this.utf8_encode(a),o=m(a),u=1732584193,v=4023233417,w=2562383102,x=271733878,b=o.length,p=0;b>p;p+=16)q=u,r=v,s=w,t=x,u=i(u,v,w,x,o[p+0],y,3614090360),x=i(x,u,v,w,o[p+1],z,3905402710),w=i(w,x,u,v,o[p+2],A,606105819),v=i(v,w,x,u,o[p+3],B,3250441966),u=i(u,v,w,x,o[p+4],y,4118548399),x=i(x,u,v,w,o[p+5],z,1200080426),w=i(w,x,u,v,o[p+6],A,2821735955),v=i(v,w,x,u,o[p+7],B,4249261313),u=i(u,v,w,x,o[p+8],y,1770035416),x=i(x,u,v,w,o[p+9],z,2336552879),w=i(w,x,u,v,o[p+10],A,4294925233),v=i(v,w,x,u,o[p+11],B,2304563134),u=i(u,v,w,x,o[p+12],y,1804603682),x=i(x,u,v,w,o[p+13],z,4254626195),w=i(w,x,u,v,o[p+14],A,2792965006),v=i(v,w,x,u,o[p+15],B,1236535329),u=j(u,v,w,x,o[p+1],C,4129170786),x=j(x,u,v,w,o[p+6],D,3225465664),w=j(w,x,u,v,o[p+11],E,643717713),v=j(v,w,x,u,o[p+0],F,3921069994),u=j(u,v,w,x,o[p+5],C,3593408605),x=j(x,u,v,w,o[p+10],D,38016083),w=j(w,x,u,v,o[p+15],E,3634488961),v=j(v,w,x,u,o[p+4],F,3889429448),u=j(u,v,w,x,o[p+9],C,568446438),x=j(x,u,v,w,o[p+14],D,3275163606),w=j(w,x,u,v,o[p+3],E,4107603335),v=j(v,w,x,u,o[p+8],F,1163531501),u=j(u,v,w,x,o[p+13],C,2850285829),x=j(x,u,v,w,o[p+2],D,4243563512),w=j(w,x,u,v,o[p+7],E,1735328473),v=j(v,w,x,u,o[p+12],F,2368359562),u=k(u,v,w,x,o[p+5],G,4294588738),x=k(x,u,v,w,o[p+8],H,2272392833),w=k(w,x,u,v,o[p+11],I,1839030562),v=k(v,w,x,u,o[p+14],J,4259657740),u=k(u,v,w,x,o[p+1],G,2763975236),x=k(x,u,v,w,o[p+4],H,1272893353),w=k(w,x,u,v,o[p+7],I,4139469664),v=k(v,w,x,u,o[p+10],J,3200236656),u=k(u,v,w,x,o[p+13],G,681279174),x=k(x,u,v,w,o[p+0],H,3936430074),w=k(w,x,u,v,o[p+3],I,3572445317),v=k(v,w,x,u,o[p+6],J,76029189),u=k(u,v,w,x,o[p+9],G,3654602809),x=k(x,u,v,w,o[p+12],H,3873151461),w=k(w,x,u,v,o[p+15],I,530742520),v=k(v,w,x,u,o[p+2],J,3299628645),u=l(u,v,w,x,o[p+0],K,4096336452),x=l(x,u,v,w,o[p+7],L,1126891415),w=l(w,x,u,v,o[p+14],M,2878612391),v=l(v,w,x,u,o[p+5],N,4237533241),u=l(u,v,w,x,o[p+12],K,1700485571),x=l(x,u,v,w,o[p+3],L,2399980690),w=l(w,x,u,v,o[p+10],M,4293915773),v=l(v,w,x,u,o[p+1],N,2240044497),u=l(u,v,w,x,o[p+8],K,1873313359),x=l(x,u,v,w,o[p+15],L,4264355552),w=l(w,x,u,v,o[p+6],M,2734768916),v=l(v,w,x,u,o[p+13],N,1309151649),u=l(u,v,w,x,o[p+4],K,4149444226),x=l(x,u,v,w,o[p+11],L,3174756917),w=l(w,x,u,v,o[p+2],M,718787259),v=l(v,w,x,u,o[p+9],N,3951481745),u=d(u,q),v=d(v,r),w=d(w,s),x=d(x,t);var O=n(u)+n(v)+n(w)+n(x);return O.toLowerCase()}function utf8_encode(a){var d,e,b=a+"",c="",f=0;d=e=0,f=b.length;for(var g=0;f>g;g++){var h=b.charCodeAt(g),i=null;128>h?e++:i=h>127&&2048>h?String.fromCharCode(192|h>>6)+String.fromCharCode(128|63&h):String.fromCharCode(224|h>>12)+String.fromCharCode(128|63&h>>6)+String.fromCharCode(128|63&h),null!==i&&(e>d&&(c+=b.substring(d,e)),c+=i,d=e=g+1)}return e>d&&(c+=b.substring(d,b.length)),c}