static public TSIG
fromString(String str) {
	String [] parts = str.split("[:/]", 3);
	if (parts.length < 2)
		throw new IllegalArgumentException("Invalid TSIG key " +
						   "specification");
	if (parts.length == 3) {
		try {
			return new TSIG(parts[0], parts[1], parts[2]);
		} catch (IllegalArgumentException e) {
			parts = str.split("[:/]", 2);
		}
	}
	return new TSIG(HMAC_MD5, parts[0], parts[1]);
}
Creates a new TSIG object, which can be used to sign or verify a message.
@param str The TSIG key, in the form name:secret, name/secret,
alg:name:secret, or alg/name/secret.  If an algorithm is specified, it must
be "hmac-md5", "hmac-sha1", or "hmac-sha256".
@throws IllegalArgumentException The string does not contain both a name
and secret.
@throws IllegalArgumentException The key name is an invalid name
@throws IllegalArgumentException The key data is improperly encoded
src/main/java/core/org/xbill/DNS/TSIG.java