1package eu.siacs.conversations.crypto.sasl;
2
3import com.google.common.hash.HashFunction;
4import com.google.common.hash.Hashing;
5
6import eu.siacs.conversations.entities.Account;
7
8public class HashedTokenSha512 extends HashedToken {
9
10 public HashedTokenSha512(final Account account, final ChannelBinding channelBinding) {
11 super(account, channelBinding);
12 }
13
14 @Override
15 protected HashFunction getHashFunction(final byte[] key) {
16 return Hashing.hmacSha512(key);
17 }
18
19 @Override
20 public String getMechanism() {
21 final String cbShortName = ChannelBinding.SHORT_NAMES.get(this.channelBinding);
22 return String.format("HT-SHA-512-%s", cbShortName);
23 }
24}