Add an implementation of the SCRAM-SHA-! SASL mechanism.
This implementation come from the Stroke project http://swift.im/git/stroke
/*
* Copyright (c) 2010, Isode Limited, London, England.
* All rights reserved.
*/
/*
* Copyright (c) 2010, Remko Tron�on.
* All rights reserved.
*/
package com.isode.stroke.stringcodecs;
import com.isode.stroke.base.ByteArray;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SHA1 {
public static ByteArray getHash(ByteArray data) {
MessageDigest md;
try {
md = MessageDigest.getInstance("SHA-1");
} catch (NoSuchAlgorithmException ex) {
throw new IllegalStateException("JRE doesn't have an SHA hash function", ex);
}
md.update(data.getData());
return new ByteArray(md.digest());
}
}