I have to generate a unique and random string which is to be stored in database. For doing this I have used the "uuidtools" gem. Then in my controller I have added the following line:
require "uuidtools" and then in my controllers create method I have declared a 'temp' variable and generating a unique and random 'uuid' string like this:
temp=UUIDTools::UUID.random_create which is creating a string like this one:
f58b1019-77b0-4d44-a389-b402bb3e6d50 Now my problem is I have to make it short, preferably within 8-10 character. Now how do I do it?? Is it possible to pass any argument to make it a desirable length string??
Thanks in Advance...
You don't need uuidtools for this. You can use Secure Random for this.
[1] pry(main)> require "securerandom" => true [2] pry(main)> SecureRandom.hex(20) => "82db4d707c4c5db3ebfc349da09c991b7ca0faa1" [3] pry(main)> SecureRandom.base64(20) => "CECjUqNvPBaq0o4OuPy8RvsEoCY=" Passing 4 and 5 to hex will generate 8 and 10 character hex strings respectively.
[5] pry(main)> SecureRandom.hex(4) => "a937ec91" [6] pry(main)> SecureRandom.hex(5) => "98605bb20a"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With