jodd-joy/src/main/java/jodd/joy/auth/simtok/SimTokCoder.java
public SimTok decode(final String token) {
		final int ndx = token.indexOf('.');
		final String p1 = token.substring(0, ndx);
		final int ndx2 = token.indexOf('.', ndx + 1);
		final String p2 = token.substring(ndx + 1, ndx2);
		final String p3 = token.substring(ndx2 + 1);

		if (!BCrypt.checkpw(p1 + "." + p2 + "." + SECRET, p3)) {
			return null;
		}

		final String p2Decoded = Base64.decodeToString(p2);
		return JsonParser.create().parse(p2Decoded, SimTok.class);
	}
public SimTok decode(final String token) {
		final int ndx = token.indexOf('.');
		final String p1 = token.substring(0, ndx);
		final int ndx2 = token.indexOf('.', ndx + 1);
		final String p2 = token.substring(ndx + 1, ndx2);
		final String p3 = token.substring(ndx2 + 1);

		if (!BCrypt.checkpw(p1 + "." + p2 + "." + SECRET, p3)) {
			return null;
		}

		final String p2Decoded = Base64.decodeToString(p2);
		return JsonParser.create().parse(p2Decoded, SimTok.class);
	}
public SimTok decode ( final String token ) { final int ndx = token . indexOf ( ' ' ) ; final String p1 = token . substring ( 0 , ndx ) ; final int ndx2 = token . indexOf ( ' ' , ndx + 1 ) ; final String p2 = token . substring ( ndx + 1 , ndx2 ) ; final String p3 = token . substring ( ndx2 + 1 ) ; if ( ! BCrypt . checkpw ( p1 + "." + p2 + "." + SECRET , p3 ) ) { return null ; } final String p2Decoded = Base64 . decodeToString ( p2 ) ; return JsonParser . create ( ) . parse ( p2Decoded , SimTok . class ) ; }
Decodes the String to the {@link SimTok}.
Returns {@code null} if decoded token is NOT valid.
Decodes the String to the {