@Override
    public boolean canDecrypt(String cipherText) {
        if (isBlank(cipherText)) {
            return false;
        }
        String[] splits = cipherText.split(":");
        return splits.length == 3 && "AES".equals(splits[0]) && isNotBlank(splits[1]) && isNotBlank(splits[2]);
    }
@Test
    public void canDecryptShouldAnswerTrueIfPasswordLooksLikeAES() {
        assertThat(aesEncrypter.canDecrypt("AES:foo:bar")).isTrue();

        assertThat(aesEncrypter.canDecrypt("aes:bar:baz")).isFalse();
        assertThat(aesEncrypter.canDecrypt("")).isFalse();
        assertThat(aesEncrypter.canDecrypt("\t\n")).isFalse();
        assertThat(aesEncrypter.canDecrypt(null)).isFalse();
        assertThat(aesEncrypter.canDecrypt("foo:bar:baz")).isFalse();
        assertThat(aesEncrypter.canDecrypt("aes::")).isFalse();
        assertThat(aesEncrypter.canDecrypt("aes:asdf:")).isFalse();
        assertThat(aesEncrypter.canDecrypt("aes::asdf")).isFalse();
    }