HashedTokenSha256.java

 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 HashedTokenSha256 extends HashedToken {
 9
10    public HashedTokenSha256(final Account account, final ChannelBinding channelBinding) {
11        super(account, channelBinding);
12    }
13
14    @Override
15    protected HashFunction getHashFunction(final byte[] key) {
16        return Hashing.hmacSha256(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-256-%s", cbShortName);
23    }
24}