为任何给定的字符串生成相同的密码?

Generating the same password for any given string?

好morning/afternoon/evening 伙计们!

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

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

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

我该怎么做才能获取这个基本哈希并获得一个 6-7 个字符的密码(我的字符集是 a-z、A-Z、!、$ 和 %,但不用担心那部分)。更重要的是,我如何在 Scratch 中执行此操作?

谢谢!

这是我做的东西:

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