Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Licensed under CC0, enjoy :-)
- local md5=function(L)local p,P,f,l,r,d,c,i,q,J,m,Q,V,y,F,w,Y,a,h,U,b,M,g,e,C,o,s,n,G=4503599627370496,2271681097355226,4294967296,4023233417,3135045272,1159922023,844396048,{},-257,-128,64,16,4,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,""local x=function(e,o)e=e+.5
- e=e/o
- e=e+1.5
- e=e+p
- e=e-p
- return e-2
- end
- local u=function(e,o)e=e-o
- e=e/p
- e=e+1
- e=e/2
- e=e+p
- return e-p
- end
- local W=function(e,o)e=e-o
- e=e*m
- return math.exp(-e*e)end
- local k=function(e,o)e=e*x(o,e)return o-e
- end
- local t=function(e)return i[math.floor(e)]or 0
- end
- local i=function(o,e)i[math.floor(o)]=e
- end
- local B=function(o)local r={}local h=1023
- local i=2047
- local c=nil
- local a=11
- local n=0
- local t=52
- if o<0 then
- c=1
- else
- c=0
- end
- o=math.abs(o)local e=math.floor(math.log(o)/math.log(2))local l=math.pow(2,-e)if o*l<1 then
- e=e-1
- l=l*2
- end
- if o*l>=2 then
- e=e+1
- l=l/2
- end
- if e+h>=i then
- e=i
- elseif e+h>=1 then
- n=(o*l-1)*math.pow(2,t)e=e+h
- else
- n=o*math.pow(2,h-1)*math.pow(2,t)e=0
- end
- while t>=8 do
- table.insert(r,math.floor(n%256))n=n/256
- t=t-8
- end
- e=math.floor(e*math.pow(2,t)+n)a=a+t
- while a>0 do
- table.insert(r,math.floor(e%256))e=e/256
- a=a-8
- end
- r[8]=r[8]+(c*128)return r
- end
- local K=function()if t(4)==0 then
- return true
- end
- local l=false
- local o=4
- while asssd~=0 do
- local e=t(o)if e==0 or e==10 then
- break
- end
- for t,e in pairs(B(e))do
- if e==0 or e==10 then
- l=true
- break
- end
- G=G..string.char(e)end
- o=o+1
- end
- return false
- end
- local B=0
- while K()do
- B=B+1
- o=string.byte(string.sub(L,B,B))or-1
- n=1-W(o,-1)o=o+J
- o=o*n
- o=o-J
- s=s+(o*w)w=w*256
- U=U+(n*8)s=s-U
- o=k(64,m+8)F=F*u(o*o,J)e=u(g+F,0)s=s*F
- s=s+U
- J=J*n
- o=d
- d=d-c
- d=d*e
- d=d+c
- c=c-r
- c=c*e
- c=c+r
- r=r-l
- r=r*e
- r=r+l
- l=l-o
- l=l*e
- l=l+o
- Y=Y*u(g,0)b=math.cos(h*2+2)b=math.sqrt((1-b)/2)*f-.5
- b=b+p
- r=r+r
- c=c+c
- d=d+d
- M=x(r,f)a=x(c,f)C=x(d,f)r=r+(M*(1-f))c=c+(a*(1-f))d=d+(C*(1-f))e=x(h,16)a=a-(C*u(math.cos(e*3),0))a=a*u(M+e,0)a=a+(C*W(e,0))a=a*a
- a=a-((1+C*(M-1))*W(e,3))a=a-M
- a=a*(1-C*W(e,1))a=a+(M*(1-W(e,2)))a=a*a
- Y=Y+(Y+a)n=k(4,h)g=g+y
- g=g-F
- o=((-4*e+16)*e-12)*e
- o=o*n+((22*e-90)*e+74)*e
- o=o*n-(((38*e-158)*e+138)*e-60)o=o*n+(((4*e-6)*e-22)*e+84)n=(((2*e-9)*e+11)*e+1)n=n*h-((2*e-7.5)*e+4.5)*e
- e=W(g,32)b=b-p
- b=b*e
- n=k(16,n)n=t(Q+n)n=n+Y
- n=n*e
- l=l+n
- l=l+b
- l=k(f,l)o=o*e
- o=math.pow(2,(o/12))l=l*o
- o=(l+.5*o)/f+1.5
- o=o+p
- o=o-p
- o=o-2
- l=l-(o*f)l=l+(o+r*e)l=k(f,l)g=g*(1-e)h=h+e
- o=u(64,h)h=h*o
- o=1-o
- d=d+(t(0)*o)l=l+(t(1)*o)r=r+(t(2)*o)c=c+(t(3)*o)d=k(f,d)l=k(f,l)r=k(f,r)c=k(f,c)Q=Q+(16*o)e=u(m,1)e=1-u(e,0)i(0,t(0)-d)i(1,t(1)-l)i(2,t(2)-r)i(3,t(3)-c)i(4,t(4)+e*46727004911171048e-169)i(5,t(5)+e*16937441874215991e174)o=math.exp(-y*(o+F)*m*m)i(0,t(0)*o)i(1,t(1)*o)i(2,t(2)*o)i(3,t(3)*o)i(4,t(4)*o)i(5,t(5)*o)e=math.exp(-e*m*m)e=e*u(m,399990)i(0,t(0)+d)i(1,t(1)+l)i(2,t(2)+r)i(3,t(3)+c)i(4,t(4)+e*4522871578970112e202)i(5,t(5)+e*790055321525613e101)y=y*u(m/4+1,Q)e=u(h+y,0)o=math.pow(2,q-304-f*e)i(V+4,(p+p/85+P)*o)i(m/4,s)m=m+F
- V=V+(e-1)n=u(w*y,f-1)s=s*(1-n)w=w+(n*(1-f)-1)w=w*e
- P=P*e
- q=q*e
- e=x(h,2)e=1-h+e*4
- e=x(t(V),math.pow(16,e))o=x(e,16)e=e-(o*16)e=e+(u(e,9)*39)o=x(e,16)o=o*W(h,6)e=e-(o*16)q=q+o
- w=w+1
- P=P+(e*w*u(7,h))q=q+(e*16*u(h,6))h=h+(1-y)h=h*u(m*y+8,h)end
- return G
- end
- print(md5("Hello world!"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement