从字符串生成哈希,这是否依赖于os?

Bla*_*man 1 ruby hash ruby-on-rails

当用户输入文本时,我想生成文本的哈希值.我将这个哈希存储在db中.

然后,每当有人输入文本时,我将生成一个哈希并比较执行该哈希值的数据库查找,如果它存在,我知道输入的文本是重复的.

.hash方法对此有用吗?它会在多服务器上保持一致吗?

bio = "my name is blankman"

bio_hash = bio.hash


b = Bio.new()
b.body = bio

b.save unless Bio.find_by_hash(bio_hash)
Run Code Online (Sandbox Code Playgroud)

Rei*_*chs 5

不,Ruby的散列函数不能保证一致.如果需要一致的散列函数,请使用MD5或为此目的而设计的其他函数.