4

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?

Brent
  • 22,219
  • 19
  • 68
  • 102

1 Answers1

5

How about md5?

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

The resulting variable $color will be #5ababd

Alnitak
  • 20,901
  • 3
  • 48
  • 81
  • 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
  • 2
    Do keep in mind that this will occasionally come up with bad colors (e.g, same as the background color). –  Nov 30 '09 at 05:59