【发布时间】:2016-10-19 18:01:38
【问题描述】:
我想根据以下规则为用户的默认头像背景设置一致的颜色:
- rgb值,其中每个数字不能大于200(即0到200之间)
- 使用全名,例如“John Smith”和“John Smithy”会给出不同的颜色。
- 对名称稍作改动就会产生完全不同的颜色。
我正在考虑这些方面的一些事情:
- 将名称散列成由三个相等部分组成的东西
- 获取三个部分中的每一个并将其标准化为 0 到 1 之间的浮点数
- 将这些乘以 200 得到 r、g 或 b 值。
但我不知道该怎么做。有什么建议么?如果我能在没有获得任何额外宝石的情况下做到这一点,那将是理想的。我已经将 MD5 用于一些哈希值。
注意:这不是一个安全问题,只是有点好玩,所以如果两个不同的名字偶尔会产生相同的颜色,这并不重要,但通常最好使颜色值尽可能多变。
【问题讨论】: