擅长:python、mysql、java
<p>我认为这是不安全的,只有一个散列的电子邮件地址作为散列算法是不可逆的,但它是理论上有可能有不正确的电子邮件有相同的散列正确的。它适用于<code>md5</code>哈希算法,理论上适用于任何其他算法。你知道吗</p>
<p>我建议使用某种类型的salt(额外的hash函数负载)或个人注册密钥,当然永远不要使用md5。你知道吗</p>
<p>有了你知道的salt和“军方”知道的salt,你可以只收到“军方”的散列信息,并善意地确保加密足够公平,可以通过电子邮件识别新兵。但是这种技术仍然容易受到随机散列的影响。你知道吗</p>
<p>也许,确保新兵电子邮件真正有效的最好方法是在“军事”方面给新兵唯一的注册码,而不是他们需要给你一对注册码和代码的散列以及相应的电子邮件。比每个新兵都需要提供注册码,你将能够从他的电子邮件和注册码重新计算新兵的个人哈希。你知道吗</p>
<p>第二种方法的好处是,如果“军方”不仅给你一对代码/散列,而且给你每个散列的代码列表,其中只有一个是正确的,那么即使是你也不能轻易地将散列强制到电子邮件中。你知道吗</p>
<p><strong>更新:</strong>偏执狂的高潮方式。你从“军队”那里得到的哈希值是新兵数量的两倍。每个新兵都有唯一的注册码。然后,您需要首先计算注册码哈希值并检查是否有它。然后你需要将这个散列与电子邮件结合起来,并检查是否有第二个散列。这样你就永远无法自己回复邮件了。你知道吗</p>