blob: 1c1a29e06cedb0612089f9a2a61794c26df81a22 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
/*
* Copyright (c) 2013-2015, Isode Limited, London, England.
* All rights reserved.
*/
package com.isode.stroke.crypto;
import com.isode.stroke.base.ByteArray;
import com.isode.stroke.base.SafeByteArray;
public abstract class CryptoProvider {
public abstract Hash createSHA1();
public abstract Hash createMD5();
public abstract ByteArray getHMACSHA1(final SafeByteArray key, final ByteArray data);
public abstract ByteArray getHMACSHA1(final ByteArray key, final ByteArray data);
public abstract boolean isMD5AllowedForCrypto();
// Convenience
public ByteArray getSHA1Hash(final SafeByteArray data) {
return createSHA1().update(data).getHash();
}
public ByteArray getSHA1Hash(final ByteArray data) {
return createSHA1().update(data).getHash();
}
public ByteArray getMD5Hash(final SafeByteArray data) {
return createMD5().update(data).getHash();
}
public ByteArray getMD5Hash(final ByteArray data) {
return createMD5().update(data).getHash();
}
}
|