static public TSIG
fromString(String str) {
	String [] parts = str.split("[:/]");
	if (parts.length < 2 || parts.length > 3)
		throw new IllegalArgumentException("Invalid TSIG key " +
						   "specification");
	if (parts.length == 3)
		return new TSIG(parts[0], parts[1], parts[2]);
	else
		return new TSIG(HMAC_MD5, parts[0], parts[1]);
}
static public TSIG fromString ( String str ) { String [ ] parts = str . split ( "[:/]" ) ; if ( parts . length < 2 || parts . length > 3 ) throw new IllegalArgumentException ( "Invalid TSIG key " + "specification" ) ; if ( parts . length == 3 ) return new TSIG ( parts [ 0 ] , parts [ 1 ] , parts [ 2 ] ) ; else return new TSIG ( HMAC_MD5 , parts [ 0 ] , parts [ 1 ] ) ; }
Creates a new TSIG object with the hmac-md5 algorithm, 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