从JavaScript中的字符串生成哈希(唯一随机)

从JavaScript中的字符串生成哈希(唯一随机),javascript,random,parse-platform,Javascript,Random,Parse Platform,我在一个项目中使用Parse(www.Parse.com)作为后端 我希望通过在Java脚本中每次应用当前日期和时间来生成唯一的随机(Promocode)。随机数字应为可读的字母/数字 我通过谷歌搜索了解随机生成过程。但我不确定这是否总是独一无二的。因此,为了检查,每次我必须联系后端,是否有任何已经存在的随机匹配到当前的一个。这是一个漫长的过程。因为我需要在注册过程中完成这个过程,所以我需要一个更好的解决方案 有人能帮上忙吗?从你的问题中我能理解的是,你需要一个好的哈希函数,它可以确保每次值都是

我在一个项目中使用
Parse
(www.Parse.com)作为后端

我希望通过在Java脚本中每次应用当前日期和时间来生成唯一的随机(
Promocode
)。随机数字应为可读的字母/数字

我通过谷歌搜索了解随机生成过程。但我不确定这是否总是独一无二的。因此,为了检查,每次我必须联系后端,是否有任何已经存在的随机匹配到当前的一个。这是一个漫长的过程。因为我需要在注册过程中完成这个过程,所以我需要一个更好的解决方案


有人能帮上忙吗?

从你的问题中我能理解的是,你需要一个好的哈希函数,它可以确保每次值都是唯一的,这样你就不必花很长时间检查值是唯一的还是已经存在

首先让我澄清一点,散列并不一定意味着“独特”,但它们应该是“足够独特”。要获得JS中最好的哈希库,您应该查看

它们有不同类型的散列函数,请看下面的一个:

<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/sha256.js"></script>
<script>
    var hash = CryptoJS.SHA256("Message");

    alert(typeof hash); // object

    alert(hash); // 2f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91
</script>

var hash=CryptoJS.SHA256(“消息”);
警报(哈希类型);//对象
警报(散列);//2f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91

我的意思是看这个散列函数生成的值。。复制该值的可能性非常小。因此,您可以安全地使用该库,也可以从库中挖掘出您认为最适合您的库。

为什么联系后端需要这么长的时间?我想这不应该超过500毫秒。所以你到底想要什么我不清楚。您希望保留已存在的“唯一编号”的内存副本,通过该副本,您可以检查您生成的编号是否已存在于副本中。我是否正确地理解了你?“WojiCeChrf.Cz:考虑到重复随机调用3次时会有3次重复的调用(如果DB的大小一天一天增加)可能会发生,这对正在登录的用户来说是很烦人的。”SameerSawla我正在寻找一个解决方案,提供超过95%的唯一随机码的保证。由于它是一个促销代码功能,随机应该是人类可读的(5到10个字符)。嗨,阿卜杜勒,谢谢你的回复。实际上我已经看过谷歌加密JS了。我关心的是,谷歌提供的所有算法都给出了long-has值(比如16、32等等)。由于它是促销代码功能,我需要它可读随机(如5至10个字符)。你能理解我的意思吗?所以你生成的每一个促销代码。。您将它发送回服务器以检查它是否存在?