它基本上只使用五个字母的密码值,并将数字赋予变量。我想问的是,从理论上讲,假设你每次输入20个字母的密码,这有多容易破解。代码开头代码结束
从根本上讲,您在这里提供的加密方案可以归结为以下算法问题:
给定一个目标和和N个K个元素的列表,从每个列表中选择一个元素,使得元素的和就是目标和。
理论上,强力解决方案是指数时间的,但我认为它的平均复杂度要低得多,因为我们可以对列表进行排序,并在超过限制时缩短搜索时间。这是假设没有负数,但似乎没有
也就是说,这可以等价于0-1背包问题,该问题可以在O(N*K*sum(时间内求解。即使这不是最佳方法,也肯定太快了,无法用于任何严肃的加密目的(就像任何自制的加密方法一样(。如果这不仅仅是一个玩具密码,请使用一个安全的加密哈希函数(不要在前端进行身份验证(。