05-05-2022 01:11 AM
I have a scenario where I have to generate random 6 digit code in every snaplogic execution from given letter set below.
0123456789ABCDEF
can any one help in this.
05-12-2022 06:03 AM
@Pakhi :
You mention that you need a “random” 6 (hexadecimal) digit code.
But there are many types of randomness, and you don’t mention what this is for.
I’m not trying to pry, but out of concern for safety, I have to mention three things:
Viktor’s solution is a very clean and straightforward one if you are looking for a “nearly unique” identifier.
His solution is pretty darn good but not perfect if you absolutely must have a unique identifier. Extending the solution to this cannot be done in a simple mapping expression and is better suited to a script (or an integrated executable).
If you are planning on using this for any form of security, it is entirely inadequate and unsafe. For that, you’ll need a Cryptographically Secure Pseudorandom Number Generator (CSPRNG). Examples of these include:
Hope this helps!
05-16-2022 02:17 PM
Strictly speaking, Math.round(Math.random()*15) disfavors 0 and F; they are only half as likely to appear as any of 1 through E are.
Math.floor(Math.random()*16) distributes better.
05-17-2022 05:59 AM
@Pakhi take note ^