2

我正在尝试制作一个 wep 密钥生成器,并且我阅读了 wep 密钥的工作原理,但我什至不知道如何开始制作它。谁能给我一个例子或指导我学习教程?我尝试使用谷歌,但没有运气。

4

1 回答 1

6

在 javascript...

function generateHexString(length) {
  // Use crypto.getRandomValues if available
  if (
    typeof crypto !== 'undefined' 
    && typeof crypto.getRandomValues === 'function'
  ) {
    var tmp = new Uint8Array(Math.max((~~length)/2));
    crypto.getRandomValues(tmp);
    return Array.from(tmp)
      .map(n => ('0'+n.toString(16)).substr(-2))
      .join('')
      .substr(0,length);
  }

  // fallback to Math.getRandomValues
  var ret = "";
  while (ret.length < length) {
    ret += Math.random().toString(16).substring(2);
  }
  return ret.substring(0,length);
}

// 40-/64-bit WEP: 10 digit key
alert("40-bit:" + generateHexString(10));

// 104-/128-bit WEP: 26 digit key
alert("104-bit:" + generateHexString(26))

// 256-bit WEP: 58 digit key
alert("256-bit:" + generateHexString(58));

如果您想根据固定的字符串输入生成一些东西,那么也有一些方法可以做到这一点......这应该可以为您提供您正在寻找的内容,即正确长度的直接随机十六进制字符串。

我不确定 WEP 生成器是否有标准密码,但大多数都将输入限制为可打印字符,而且算法通常很弱。最好的办法是尽可能简单地使用 WPA2PSK。

于 2011-03-23T00:10:17.113 回答