├── .github ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE.md └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── .travis.yml ├── CHANGELOG.md ├── LICENSE.txt ├── README.md ├── logo.gif ├── pom.xml └── src ├── main └── java │ └── com │ └── idealista │ └── fpe │ ├── FormatPreservingEncryption.java │ ├── FormatPreservingEncryptionErrorMessage.java │ ├── algorithm │ ├── Cipher.java │ └── ff1 │ │ ├── Cipher.java │ │ └── FF1Algorithm.java │ ├── builder │ ├── FormatPreservingEncryptionBuilder.java │ ├── steps │ │ ├── Builder.java │ │ ├── WithDomain.java │ │ ├── WithLengthRange.java │ │ └── WithPseudoRandomFunction.java │ └── validate │ │ └── BuildValidator.java │ ├── component │ └── functions │ │ ├── ComponentFunctions.java │ │ ├── DataFunctions.java │ │ └── prf │ │ ├── DefaultPseudoRandomFunction.java │ │ └── PseudoRandomFunction.java │ ├── config │ ├── Alphabet.java │ ├── Defaults.java │ ├── Domain.java │ ├── GenericDomain.java │ ├── GenericTransformations.java │ ├── LengthRange.java │ └── basic │ │ └── BasicAlphabet.java │ ├── data │ ├── ByteString.java │ └── IntString.java │ └── transformer │ ├── IntToTextTransformer.java │ └── TextToIntTransformer.java └── test └── java └── com └── idealista └── fpe ├── FormatPreservingEncryptionRandomPlainTextAndKeysShould.java ├── FormatPreservingEncryptionShould.java ├── RandomValuesProvider.java ├── algorithm └── ff1 │ ├── FF1AlgorithmRandomPlainTextAndKeysShould.java │ ├── FF1AlgorithmWithRadix10NoEmptyDataKey128Should.java │ └── FF1AlgorithmWithRadix45NoEmptyDataKey256Should.java ├── builder ├── FormatPreservingEncryptionBuilderShould.java └── validate │ └── BuildValidatorShould.java └── component └── functions ├── ComponentFunctionShould.java └── DataFunctionsShould.java /.github/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/.github/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/.github/CONTRIBUTING.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/.github/ISSUE_TEMPLATE.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/.travis.yml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/README.md -------------------------------------------------------------------------------- /logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/logo.gif -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/FormatPreservingEncryption.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/FormatPreservingEncryption.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/FormatPreservingEncryptionErrorMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/FormatPreservingEncryptionErrorMessage.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/algorithm/Cipher.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/algorithm/Cipher.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/algorithm/ff1/Cipher.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/algorithm/ff1/Cipher.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/algorithm/ff1/FF1Algorithm.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/algorithm/ff1/FF1Algorithm.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/builder/FormatPreservingEncryptionBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/builder/FormatPreservingEncryptionBuilder.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/builder/steps/Builder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/builder/steps/Builder.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/builder/steps/WithDomain.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/builder/steps/WithDomain.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/builder/steps/WithLengthRange.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/builder/steps/WithLengthRange.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/builder/steps/WithPseudoRandomFunction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/builder/steps/WithPseudoRandomFunction.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/builder/validate/BuildValidator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/builder/validate/BuildValidator.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/component/functions/ComponentFunctions.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/component/functions/ComponentFunctions.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/component/functions/DataFunctions.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/component/functions/DataFunctions.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/component/functions/prf/DefaultPseudoRandomFunction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/component/functions/prf/DefaultPseudoRandomFunction.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/component/functions/prf/PseudoRandomFunction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/component/functions/prf/PseudoRandomFunction.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/config/Alphabet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/config/Alphabet.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/config/Defaults.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/config/Defaults.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/config/Domain.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/config/Domain.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/config/GenericDomain.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/config/GenericDomain.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/config/GenericTransformations.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/config/GenericTransformations.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/config/LengthRange.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/config/LengthRange.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/config/basic/BasicAlphabet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/config/basic/BasicAlphabet.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/data/ByteString.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/data/ByteString.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/data/IntString.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/data/IntString.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/transformer/IntToTextTransformer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/transformer/IntToTextTransformer.java -------------------------------------------------------------------------------- /src/main/java/com/idealista/fpe/transformer/TextToIntTransformer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/main/java/com/idealista/fpe/transformer/TextToIntTransformer.java -------------------------------------------------------------------------------- /src/test/java/com/idealista/fpe/FormatPreservingEncryptionRandomPlainTextAndKeysShould.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/test/java/com/idealista/fpe/FormatPreservingEncryptionRandomPlainTextAndKeysShould.java -------------------------------------------------------------------------------- /src/test/java/com/idealista/fpe/FormatPreservingEncryptionShould.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/test/java/com/idealista/fpe/FormatPreservingEncryptionShould.java -------------------------------------------------------------------------------- /src/test/java/com/idealista/fpe/RandomValuesProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/test/java/com/idealista/fpe/RandomValuesProvider.java -------------------------------------------------------------------------------- /src/test/java/com/idealista/fpe/algorithm/ff1/FF1AlgorithmRandomPlainTextAndKeysShould.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/test/java/com/idealista/fpe/algorithm/ff1/FF1AlgorithmRandomPlainTextAndKeysShould.java -------------------------------------------------------------------------------- /src/test/java/com/idealista/fpe/algorithm/ff1/FF1AlgorithmWithRadix10NoEmptyDataKey128Should.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/test/java/com/idealista/fpe/algorithm/ff1/FF1AlgorithmWithRadix10NoEmptyDataKey128Should.java -------------------------------------------------------------------------------- /src/test/java/com/idealista/fpe/algorithm/ff1/FF1AlgorithmWithRadix45NoEmptyDataKey256Should.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/test/java/com/idealista/fpe/algorithm/ff1/FF1AlgorithmWithRadix45NoEmptyDataKey256Should.java -------------------------------------------------------------------------------- /src/test/java/com/idealista/fpe/builder/FormatPreservingEncryptionBuilderShould.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/test/java/com/idealista/fpe/builder/FormatPreservingEncryptionBuilderShould.java -------------------------------------------------------------------------------- /src/test/java/com/idealista/fpe/builder/validate/BuildValidatorShould.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/test/java/com/idealista/fpe/builder/validate/BuildValidatorShould.java -------------------------------------------------------------------------------- /src/test/java/com/idealista/fpe/component/functions/ComponentFunctionShould.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/test/java/com/idealista/fpe/component/functions/ComponentFunctionShould.java -------------------------------------------------------------------------------- /src/test/java/com/idealista/fpe/component/functions/DataFunctionsShould.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idealista/format-preserving-encryption-java/HEAD/src/test/java/com/idealista/fpe/component/functions/DataFunctionsShould.java --------------------------------------------------------------------------------