1 public class EphemeralSignature {
3 private int serverSeed;
4 private String serverSeparator;
7 public EphemeralSignature() {
8 Random rand = new Random(0);
11 public EphemeralSignature(int randomNumberSeed, String separator) {
12 Random rand = new Random(randomNumberSeed);
13 serverSeparator = separator;
16 public EphemeralSignature(String seedAndSeparator) {
17 serverSeparator = seedAndSeparator;
20 public String computeSignature(String body) {
22 int len = body.length();
23 byte buf[] = body.getBytes();
24 byte sig[] = new byte[16];
28 String signature = new String(sig);
34 public long DEKHash(String str)
36 long hash = str.length();
38 for(int i = 0; i < str.length(); i++)
40 hash = ((hash << 5) ^ (hash >> 27)) ^ str.charAt(i);