Java tutorial
//package com.java2s; public class Main { public static int hashCode(String str) { int hash = 0; if (str != null) { int multiplier = 1; int offset = 0; int count = str.length(); char[] value = new char[count]; str.getChars(offset, count, value, 0); for (int i = offset + count - 1; i >= offset; i--) { hash += value[i] * multiplier; int shifted = multiplier << 5; multiplier = shifted - multiplier; } } return hash; } }