Ruby'de uzun dizelerden kısa çarpışmayan dizeler oluşturmaya çalışıyorum. Bunu yapmanın en iyi yolu nedir? Base64 bir MD5 hash kodlamak?Daha uzun bir dizeden kısa bir karma dizesi oluşturmanın en iyi yolu nedir?
loop do
key = short_hash("#{user_id}-#{timestamp}")
break if $redis.setnx(key, "0")
end
Ben anahtar çok uzun istemiyorum:
Bu
kullanıldığı durumdur.
Bu sitede, benzer konular hakkında bir sürü soru var. Karmaşık konuları aramayı deneyin. İşte bir tane: http://stackoverflow.com/questions/4066601/developing-a-url-shortener/4066615#4066615 –
@Sugerman: Bu soru Python'da. –
Bu (ve diğer) iş parçacıklarındaki yanıttan ne toplayabiliyorsanız, bunu okumanın "en iyi yolun" dili agnostik olmasıdır. Önce karma algoritmanızı seçin ve dile özgü uygulama hakkında endişelenin. –