/** * Base32-encode the current stream. * * @param alphabet the alphabet to use * @return an iterator over the encoded characters */ public CodePointIterator base32Encode(final Base32Alphabet alphabet) { return base32Encode(alphabet, true); }
/** * Base32-encode the current stream. * * @return an iterator over the encoded characters */ public CodePointIterator base32Encode() { return base32Encode(Base32Alphabet.STANDARD, true); }
private String calculateNewAlias(String alias, Class<? extends Credential> credentialType, String algorithm, AlgorithmParameterSpec parameterSpec) throws CredentialStoreException { final StringBuilder b = new StringBuilder(64 + alias.length()); b.append(alias.toLowerCase(Locale.ROOT)); b.append('/'); b.append(credentialType.getSimpleName().toLowerCase(Locale.ROOT)); b.append('/'); if (algorithm != null) { b.append(algorithm.toLowerCase(Locale.ROOT)); b.append('/'); if (parameterSpec != null) try { final AlgorithmParameters algorithmParameters = AlgorithmParameters.getInstance(algorithm); algorithmParameters.init(parameterSpec); ByteIterator.ofBytes(algorithmParameters.getEncoded()).base32Encode(Base32Alphabet.LOWERCASE, false).drainTo(b); } catch (NoSuchAlgorithmException | InvalidParameterSpecException | IOException e) { throw log.cannotWriteCredentialToStore(e); } } else { b.append('/'); } return b.toString(); }
private Path pathFor(String name) { assert name.codePointCount(0, name.length()) > 0; String normalizedName = name; if (encoded) { normalizedName = Normalizer.normalize(name, Normalizer.Form.NFKC) .toLowerCase(Locale.ROOT) .replaceAll("[^a-z0-9]", "_"); } Path path = root; int idx = 0; for (int level = 0; level < levels; level ++) { int newIdx = normalizedName.offsetByCodePoints(idx, 1); path = path.resolve(normalizedName.substring(idx, newIdx)); idx = newIdx; if (idx == normalizedName.length()) { break; } } if (encoded) { String base32 = ByteIterator.ofBytes(new ByteStringBuilder().append(name).toArray()) .base32Encode(Base32Alphabet.STANDARD, false).drainToString(); name = normalizedName + "-" + base32; } return path.resolve(name + ".xml"); }
byte[] digest = messageDigest.digest(); digest[6] &= 0xfe; String encoded = ByteIterator.ofBytes(digest, 0, 7).base32Encode(Base32Alphabet.STANDARD, false).drainToString(); name.append(encoded.substring(0, encoded.length() - 1)); if (plus) {
private String encodeUsingAlphabet(byte[] payload) { if (picketBoxCompatibility) { return picketBoxBased64Encode(payload); } else { CodePointIterator codePointIterator = isBase64(alphabet) ? ByteIterator.ofBytes(payload).base64Encode(getAlphabet64(alphabet), usePadding) : ByteIterator.ofBytes(payload).base32Encode(getAlphabet32(alphabet)); return codePointIterator.drainToString(); } }
/** * Base32-encode the current stream. * * @param alphabet the alphabet to use * @return an iterator over the encoded characters */ public CodePointIterator base32Encode(final Base32Alphabet alphabet) { return base32Encode(alphabet, true); }
/** * Base32-encode the current stream. * * @return an iterator over the encoded characters */ public CodePointIterator base32Encode() { return base32Encode(Base32Alphabet.STANDARD, true); }
/** * Base32-encode the current stream. * * @param alphabet the alphabet to use * @return an iterator over the encoded characters */ public CodePointIterator base32Encode(final Base32Alphabet alphabet) { return base32Encode(alphabet, true); }
/** * Base32-encode the current stream. * * @return an iterator over the encoded characters */ public CodePointIterator base32Encode() { return base32Encode(Base32Alphabet.STANDARD, true); }
private String calculateNewAlias(String alias, Class<? extends Credential> credentialType, String algorithm, AlgorithmParameterSpec parameterSpec) throws CredentialStoreException { final StringBuilder b = new StringBuilder(64 + alias.length()); b.append(alias.toLowerCase(Locale.ROOT)); b.append('/'); b.append(credentialType.getSimpleName().toLowerCase(Locale.ROOT)); b.append('/'); if (algorithm != null) { b.append(algorithm.toLowerCase(Locale.ROOT)); b.append('/'); if (parameterSpec != null) try { final AlgorithmParameters algorithmParameters = AlgorithmParameters.getInstance(algorithm); algorithmParameters.init(parameterSpec); ByteIterator.ofBytes(algorithmParameters.getEncoded()).base32Encode(Base32Alphabet.LOWERCASE, false).drainTo(b); } catch (NoSuchAlgorithmException | InvalidParameterSpecException | IOException e) { throw log.cannotWriteCredentialToStore(e); } } else { b.append('/'); } return b.toString(); }
private String calculateNewAlias(String alias, Class<? extends Credential> credentialType, String algorithm, AlgorithmParameterSpec parameterSpec) throws CredentialStoreException { final StringBuilder b = new StringBuilder(64 + alias.length()); b.append(alias.toLowerCase(Locale.ROOT)); b.append('/'); b.append(credentialType.getSimpleName().toLowerCase(Locale.ROOT)); b.append('/'); if (algorithm != null) { b.append(algorithm.toLowerCase(Locale.ROOT)); b.append('/'); if (parameterSpec != null) try { final AlgorithmParameters algorithmParameters = AlgorithmParameters.getInstance(algorithm); algorithmParameters.init(parameterSpec); ByteIterator.ofBytes(algorithmParameters.getEncoded()).base32Encode(Base32Alphabet.LOWERCASE, false).drainTo(b); } catch (NoSuchAlgorithmException | InvalidParameterSpecException | IOException e) { throw log.cannotWriteCredentialToStore(e); } } else { b.append('/'); } return b.toString(); }
private String calculateNewAlias(String alias, Class<? extends Credential> credentialType, String algorithm, AlgorithmParameterSpec parameterSpec) throws CredentialStoreException { final StringBuilder b = new StringBuilder(64 + alias.length()); b.append(alias.toLowerCase(Locale.ROOT)); b.append('/'); b.append(credentialType.getSimpleName().toLowerCase(Locale.ROOT)); b.append('/'); if (algorithm != null) { b.append(algorithm.toLowerCase(Locale.ROOT)); b.append('/'); if (parameterSpec != null) try { final AlgorithmParameters algorithmParameters = AlgorithmParameters.getInstance(algorithm); algorithmParameters.init(parameterSpec); ByteIterator.ofBytes(algorithmParameters.getEncoded()).base32Encode(Base32Alphabet.LOWERCASE, false).drainTo(b); } catch (NoSuchAlgorithmException | InvalidParameterSpecException | IOException e) { throw log.cannotWriteCredentialToStore(e); } } else { b.append('/'); } return b.toString(); }
private Path pathFor(String name) { assert name.codePointCount(0, name.length()) > 0; String normalizedName = name; if (encoded) { normalizedName = Normalizer.normalize(name, Normalizer.Form.NFKC) .toLowerCase(Locale.ROOT) .replaceAll("[^a-z0-9]", "_"); } Path path = root; int idx = 0; for (int level = 0; level < levels; level ++) { int newIdx = normalizedName.offsetByCodePoints(idx, 1); path = path.resolve(normalizedName.substring(idx, newIdx)); idx = newIdx; if (idx == normalizedName.length()) { break; } } if (encoded) { String base32 = ByteIterator.ofBytes(new ByteStringBuilder().append(name).toArray()) .base32Encode(Base32Alphabet.STANDARD, false).drainToString(); name = normalizedName + "-" + base32; } return path.resolve(name + ".xml"); }
private Path pathFor(String name) { assert name.codePointCount(0, name.length()) > 0; String normalizedName = name; if (encoded) { normalizedName = Normalizer.normalize(name, Normalizer.Form.NFKC) .toLowerCase(Locale.ROOT) .replaceAll("[^a-z0-9]", "_"); } Path path = root; int idx = 0; for (int level = 0; level < levels; level ++) { int newIdx = normalizedName.offsetByCodePoints(idx, 1); path = path.resolve(normalizedName.substring(idx, newIdx)); idx = newIdx; if (idx == normalizedName.length()) { break; } } if (encoded) { String base32 = ByteIterator.ofBytes(new ByteStringBuilder().append(name).toArray()) .base32Encode(Base32Alphabet.STANDARD, false).drainToString(); name = normalizedName + "-" + base32; } return path.resolve(name + ".xml"); }
private Path pathFor(String name) { assert name.codePointCount(0, name.length()) > 0; String normalizedName = name; if (encoded) { normalizedName = Normalizer.normalize(name, Normalizer.Form.NFKC) .toLowerCase(Locale.ROOT) .replaceAll("[^a-z0-9]", "_"); } Path path = root; int idx = 0; for (int level = 0; level < levels; level ++) { int newIdx = normalizedName.offsetByCodePoints(idx, 1); path = path.resolve(normalizedName.substring(idx, newIdx)); idx = newIdx; if (idx == normalizedName.length()) { break; } } if (encoded) { String base32 = ByteIterator.ofBytes(new ByteStringBuilder().append(name).toArray()) .base32Encode(Base32Alphabet.STANDARD, false).drainToString(); name = normalizedName + "-" + base32; } return path.resolve(name + ".xml"); }
byte[] digest = messageDigest.digest(); digest[6] &= 0xfe; String encoded = ByteIterator.ofBytes(digest, 0, 7).base32Encode(Base32Alphabet.STANDARD, false).drainToString(); name.append(encoded.substring(0, encoded.length() - 1)); if (plus) {
private String encodeUsingAlphabet(byte[] payload) { if (picketBoxCompatibility) { return picketBoxBased64Encode(payload); } else { CodePointIterator codePointIterator = isBase64(alphabet) ? ByteIterator.ofBytes(payload).base64Encode(getAlphabet64(alphabet), usePadding) : ByteIterator.ofBytes(payload).base32Encode(getAlphabet32(alphabet)); return codePointIterator.drainToString(); } }
private String encodeUsingAlphabet(byte[] payload) { if (picketBoxCompatibility) { return picketBoxBased64Encode(payload); } else { CodePointIterator codePointIterator = isBase64(alphabet) ? ByteIterator.ofBytes(payload).base64Encode(getAlphabet64(alphabet), usePadding) : ByteIterator.ofBytes(payload).base32Encode(getAlphabet32(alphabet)); return codePointIterator.drainToString(); } }
private String encodeUsingAlphabet(byte[] payload) { if (picketBoxCompatibility) { return picketBoxBased64Encode(payload); } else { CodePointIterator codePointIterator = isBase64(alphabet) ? ByteIterator.ofBytes(payload).base64Encode(getAlphabet64(alphabet), usePadding) : ByteIterator.ofBytes(payload).base32Encode(getAlphabet32(alphabet)); return codePointIterator.drainToString(); } }