我目前正在为“ A” ..“ Z”生成一个8个字符的伪随机大写字符串:
value = ""; 8.times{value << (65 + rand(25)).chr}
但它看起来并不干净,并且由于它不是单个语句,因此不能作为参数传递。为了获得大小写混合的字符串“ a” ..“ z”加上“ A” ..“ Z”,我将其更改为:
value = ""; 8.times{value << ((rand(2)==1?65:97) + rand(25)).chr}
但看起来像垃圾
有谁有更好的方法?
reset_user_password!(random_string)
哪里def random_string; SecureRandom.urlsafe_base64(20) end
securerandom.urlsafe_base64