generate random base 16


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting generate random base 16
# 8  
Using awk...
Code:
$ rand=$(awk 'BEGIN{srand();for(i=1;i<=32;i++)printf "%x", int(rand()*16)}')

$ echo $rand
b9645ca2f0c5f55ed1411258d57b5bb5

$

# 9  
Quote:
Originally Posted by scottaazz
Code:
od -N32 -x < /dev/urandom | head -n1 |  cut -b9- | sed 's/ //gi'

That's a great use of od -N... to obviate dd. But the rest of the solution could be more robust.

cut -b9- depends on the width of the offset field which is allowed to vary among implementations. Better to simply suppress the input offset with od -An ....

head -n1 assumes that the first line will contain exactly what's needed, nothing more and nothing less. There is no guarantee that the first line will contain 16 bytes worth of data (especially since you're reading twice as many bytes as needed).

Those assumptions may be true for your od, but they may not be true for all. Even if they are, when it can be trivially accomplished, it's often best to not depend on unspecified behavior.

In this case, it is not a problem, but if an odd number of bytes is read, then od -x ... will add a nullbyte of padding to complete the final 2-byte output block. This results in one too many bytes (two too many hex characters) in the result. The more general solution should use a 1-byte output format.

Code:
od -N16 -An -tx1 < /dev/random | tr -d '[:space:]'

Regards,
Alister

Last edited by alister; 09-20-2012 at 06:32 PM.. Reason: simplified a statement per drl's suggestion
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #867
Difficulty: Medium
John McDonald developed Lisp in 1958 while he was at the Massachusetts Institute of Technology (MIT).
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help with generate a pair of random number

Hi, Is anybody experience generate a pair of random number by using awk command? I wanna to generate a pair of random number (range from 1 to 4124) and repeats it 416 times. Desired output 2 326 123 1256 341 14 3245 645 . . . I did write the below command: awk... (5 Replies)
Discussion started by: perl_beginner
5 Replies

2. Shell Programming and Scripting

Need to generate a file with random data. /dev/[u]random doesn't exist.

Need to use dd to generate a large file from a sample file of random data. This is because I don't have /dev/urandom. I create a named pipe then: dd if=mynamed.fifo do=myfile.fifo bs=1024 count=1024 but when I cat a file to the fifo that's 1024 random bytes: cat randomfile.txt >... (7 Replies)
Discussion started by: Devyn
7 Replies

3. Shell Programming and Scripting

Generate random numbers in script

i want to generate a random number through a script, and even if anyone reads the script, they wont be able to figure out what the random number is. only the person who setup the script would know it. something like this could work: random the full thread is here: ... (13 Replies)
Discussion started by: SkySmart
13 Replies

4. Programming

generate array of random numbers

hi guys, I am writing a c program that generates a two dimensional array to make matrix and a vector of random numbers and perform multiplication. I can't figure out whats wrong with my code. It generates a matrix of random numbers but all the numbers in the vector array is same and so is the... (2 Replies)
Discussion started by: saboture88
2 Replies

5. Programming

Generate random number

I saw this formula to generate random number between two specified values in shell script.the following. $(((RANDOM%(max-min+divisibleBy))/divisibleBy*divisibleBy+min)) Give a example in book. Generate random number between 6 and 30.like this. $(((RANDOM%30/3+1)*3)) But I have a... (1 Reply)
Discussion started by: luoluo
1 Replies

6. Shell Programming and Scripting

How to generate random strings from regx?

Hi, Guz! I'm working on a scripts compiler which needs a function to generate random strings. I think REGX may be a good solution to restrict the string format. Before DIYing I'd like asking for any existing libs or codes. Any help will be appreciated! (7 Replies)
Discussion started by: wqqafnd
7 Replies

7. Programming

Generate Random Password in C

I need a function to generate a random alphanumeric password in C code. It needs to be between 6-8 characters and follow the following rules: Reject if same char appears # time: 4 or more Reject if same char appears consecutively: 3 or more I have the following random password working for... (2 Replies)
Discussion started by: vjaws
2 Replies

8. Shell Programming and Scripting

generate random number in perl

Could any one tell how can I generate random number from (0, 100..200) in perl? Thanks! (2 Replies)
Discussion started by: zx1106
2 Replies

9. Shell Programming and Scripting

Generate a random password

Hello All... Can someone help me generate a random password which will be 7 characters long which contains alpha-numeric characters using shell script. I am looking to store the output of the script that generates the password to a variable within a script and use it as the password. ... (5 Replies)
Discussion started by: chiru_h
5 Replies

10. Programming

How to generate a random number?

How to generate a random integer with specific range(for example, from 1 to 1000)? Also, how to convert a floating point number into a integer? (2 Replies)
Discussion started by: MacMonster
2 Replies