
14.12.2014, 14:52
|
|
Постоянный
Регистрация: 24.07.2013
Сообщений: 362
С нами:
6738806
Репутация:
19
|
|
Сообщение от binarymaster
А я вот нашёл алгоритм генерации пин кода из MAC-адреса для роутера Huawei HG8245H.
Обнаружил его в коде веб интерфейса, он на JavaScript
Пример использования:
computeDefaultPin('20:0B:C7:C9:6E:94')
Код:
// According to wlanmac, calculate initial PIN code, algorithm HW_WLAN_CalWpsDefaultPin is the same
function computeDefaultPin(wlanMac)
{
var mac = '';
var temp = 0;
var macnum = 0;
var pin = 0;
var defaultpin = 0;
// Check wlanmac legitimacy
if ((wlanMac == '') || (wlanMac == '00:00:00:00:00:00') || (wlanMac == 'FF:FF:FF:FF:FF:FF'))
{
alert(cfg_wlancfgdetail_language['amp_wlanmac_invaild']);
}
// Remove : symbols from wlanmac
for (var i = 0; i < wlanMac.length; )
{
mac += wlanMac.substr(i,2);
i += 3;
}
// Take wlanmac after 7 bits and convert it to 10 hexadecimal
for (var j = (mac.length - 1); j >= (mac.length - 7); j--)
{
temp = parseInt(mac.charCodeAt(j));
if ((temp >= 97) && (temp <= 102)) //abcdef
{
temp = (temp - 97) + 10;
}
else if ((temp >= 65) && (temp <= 70)) //ABCDEF
{
temp = (temp - 65) + 10;
}
else if ((temp >= 48) && (temp <= 57)) //0123456789
{
temp = temp - 48;
}
else
{
alert(cfg_wlancfgdetail_language['amp_wlanmac_invaild']);
}
temp = temp * Math.pow(16, mac.length - j - 1);
macnum += temp;
}
pin = macnum % 10000000;
if (pin == 0)
{
pin = 1234567;
}
// Add checksum
defaultpin = pin * 10 + ComputeChecksum(pin);
return defaultpin;
}
Круто, в инете прочел, что такие роутеры ставит МГТС для своего GPON. Странно, что у меня в округе только sercomm и intercross.
|
|
|