I am wanting to produce graphs of my server traffic using rrdtool, but it expects hex color codes for each line on the graph.

Since I am wanting to iterate over a varying bunch of domain data files, I would like to generate these color codes programatically. I would also like them to remain consistent for a given domain data file - so I think a hash of the domain name would be a good method to use. Problem is, I don't know where to begin.

Is there a simple algorithm that I can use in bash to hash strings (domain names) into hex color codes?

link|improve this question

76% accept rate
feedback

1 Answer

up vote 2 down vote accepted

How about md5?

domain=example.com
color=#`echo -n $domain | md5 | cut -c1-6`

The resulting variable $color will be #5ababd

link|improve this answer
Nice. Thank you. – Brent Nov 28 '09 at 17:13
note the '-n' in the edit - although the hash works equally well without it, this ensures that the MD5 sum is based only on the domain name without a trialing carriage return. – Alnitak Nov 28 '09 at 17:14
1  
Do keep in mind that this will occasionally come up with bad colors (e.g, same as the background color). – duskwuff Nov 30 '09 at 5:59
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.