【问题标题】:Generating the same password for any given string?为任何给定的字符串生成相同的密码?
【发布时间】:2018-11-05 21:24:24
【问题描述】:

早安/下午/晚安伙计们!

所以我被分配了以下任务:制作一个Scratch(:/不是最有趣的语言lol)程序,该程序接受输入字符串并输出密码。但是,密码应该可以使用相同的种子进行复制。我做了一些搜索,发现this article 说这叫做散列。酷,我很确定这是我需要做的。

这就是问题所在:使用它来生成密码。所以我的代码可以生成一个唯一的随机密码here。我应该能够轻松适应。

我目前的思考过程是:如果我将字符的 ASCII 值乘以素数,然后乘以它的字符索引(类似于(64 * 239 * 1) + (85 * 239 * 2)),我应该得到大多数字符串的唯一编号(正确的?)。然后我将它们相加并使用该数字做某事并生成一个 6-7 个字符的密码。

我能做些什么来获取这个基本哈希并获得一个 6-7 个字符的密码(我的字符集的 a-z、A-Z、!、$ 和 %,但不要担心那部分)。更何况,我如何在 Scratch 中做到这一点?

谢谢!

【问题讨论】:

  • 您实际上是被要求编写和实现自己的哈希算法,并且(我假设)其复杂性仅限于您自己的想象。如果您不需要固定长度,请不要尝试,因为它非常复杂,只需执行 if char = a, encode as b 方法即可。在 Scratch 中编写固定长度的算法非常困难,但我个人认为你走在正确的轨道上。如果您确实需要固定长度,this answer 或许可以为您提供帮助。
  • 没关系,我不一定需要固定长度,但我不想要数字。事实上,我根本不想要数字。我想使用该数字并将其转换为任何字符 a-Z、!、$ 和 %...我是否完全针对此输出采取了错误的方法?
  • 你输入的字母是什么?
  • @JimMischel a-z, A-Z, !, $, and % for my charset

标签: hash password-hash mit-scratch


【解决方案1】:

这是我制作的:

它所做的是遍历字符串,并通过遍历它来检查字母表中的每个项目,然后当它找到匹配项时,它会进行数学运算并将值添加到哈希中。这是你要找的吗?我希望它有所帮助。 ASCII 列表:

1  97
2  98
3  99
4  100
5  101
6  102
7  103
8  104
9  105
10 106
11 107
12 108
13 109
14 110
15 111
16 112
17 113
18 114
19 115
20 116
21 117
22 118
23 119
24 120
25 121
26 122
27 37
28 33
29 36

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-18
    • 2012-08-14
    • 1970-01-01
    • 2021-09-28
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多