Javascript 如何让一个函数重复,直到其值与另一个函数相同?

Javascript 如何让一个函数重复,直到其值与另一个函数相同?,javascript,recursion,Javascript,Recursion,我正在制作一个节目,向我所在的网络爱国者俱乐部的其他成员介绍。我希望有人输入一个密码,并让它通过所有可能的方式迭代,直到它得到它,我的想法是,它以10为基数计算,使用asci而不是数字转换为95为基数,我的问题是让它计数,直到密码匹配。到目前为止,代码只是转换部分 function generate(state) { const printables = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX

我正在制作一个节目,向我所在的网络爱国者俱乐部的其他成员介绍。我希望有人输入一个密码,并让它通过所有可能的方式迭代,直到它得到它,我的想法是,它以10为基数计算,使用asci而不是数字转换为95为基数,我的问题是让它计数,直到密码匹配。到目前为止,代码只是转换部分

function generate(state) {
  const printables = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~'
  var ones = state % printables.length
  var newstate = Math.floor(state / printables.length)
  if (newstate !== 0) {
    return generate(newstate) + printables[ones]
  } else {
    return printables[ones]
  }
}
console.log(generate(10000))
函数生成(状态){
const printables='!“#$%&'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^`abcdefghijklmnopqrstuvxyz{124;}”
var ones=状态%printables.length
var newstate=Math.floor(state/printables.length)
if(newstate!==0){
返回生成(newstate)+可打印文件[个]
}否则{
返回可打印内容[个]
}
}
控制台日志(生成(10000))

谢谢!

输入密码,并让它通过所有可能的方式迭代,直到获得密码
你能准确地说明你在寻找什么吗?这句话的意思是不明确的。我希望程序通过迭代所有asci字符,基本上猜测用户设置的密码,直到获得密码。所以…95 ascii个字符…假设密码长度为8…这是95^8个可能的组合…6万亿的可能性…你有多长时间?它只需要工作。这背后的设计更重要的是,它不一定是可能的。那么,密码的最小和最大长度是多少?