javascript - 制作密码搜索空间计算器 & 需要帮助创建一个基于 html 中 (java) 中的变量创建递归的函数
问题描述
一直在做一个蛮力密码搜索空间计算器,我已经走得很远了。[可能的组合] = [可能的字符数(根据密码长度)],而一切似乎都井井有条。我还要补充一件事,这让我发疯了!试图弄清楚 grc.com/haystack.htm 是如何计算他们的结果的,因为他们根本不匹配那个算法。过了一会儿,我终于弄清楚他们在做什么,只需要帮助编写代码。我的最终目标是有一个按钮在普通算法和 GRC 算法之间切换。
Math.pow(Charsetsize, PasswordLength) = ESSS,这是他们在 javascript 中的“算法”:
- 对于 1 的密码长度,他们只是这样做:
- ESSS;
- 对于 2 的密码长度,他们这样做:
- ESSS + Math.pow(Charsetsize, PasswordLength - 1);
- 对于 3 的密码长度,他们这样做:
- ESSS + Math.pow(Charsetsize, PasswordLength - 1) + Math.pow(Charsetsize, PasswordLength - 2);
- 对于 4 的密码长度,他们这样做:
- ESSS + Math.pow(Charsetsize, PasswordLength - 1) + Math.pow(Charsetsize, PasswordLength - 2) + Math.pow(Charsetsize, PasswordLength - 3);
- 随着密码长度的增加,在此递归中依此类推
我需要一个可以根据密码长度创建递归的函数。
解决方案
尝试将其用于 grc 的值。
function grc(len)
{
if(len < 1)
{
return 0 ;
}
if (len == 1)
{
return window.ESSS;
}
return Math.pow(window.Charsetsize, len - 1) + grc(len - 1);
}
console.log(grc(10));
推荐阅读
- excel - 使用变量插入函数
- android - Koin 依赖项覆盖在测试中不起作用
- javascript - 如何在nodejs上下载大量文件
- php - 如何解决laravel中object不能转为闭包的问题
- python - 尝试硒打开谷歌时出现名称错误
- python - Python中的土耳其语单词加密
- php - 为 AWS 开发工具包 PHP 注册会话处理程序时出错
- html - 您如何引用说出要在您的文件中显示的报价的人?
- leaflet - 我可以使用 Leaflet 插件和 Mapbox GL JS 吗?
- wordpress - 无法在 wordpress 中编辑 Hestia 主题中的标题图像