{"repo":"patrickfav/bcrypt","free":true,"listed":false,"github":"https://github.com/patrickfav/bcrypt","clone":"git clone https://github.com/patrickfav/bcrypt.git","description":"A Java standalone implementation of the bcrypt password hash function. Based on the Blowfish cipher it is the default password hash algorithm for OpenBSD and other systems including some Linux distributions. Includes a CLI Tool.","language":"Java","stars":566,"topics":["bcrypt","java","kdf","password-hash","crypto","security","hash","cli","java-library","bcrypt-library"],"license":"Apache-2.0","category":"cli-tools","readme_excerpt":"Bcrypt Java Library and CLI Tool This is an implementation of the OpenBSD Blowfish password hashing algorithm, as described in \"A Future-Adaptable Password Scheme\" by Niels Provos and David Mazieres. It's core is based on jBcrypt, but heavily refactored, modernized and with a lot of updates and enhancements. It supports all common versions, has a security sensitive API and is fully tested against a range of test vectors and reference implementations. The code is compiled with target Java 7 to be compatible with most Android versions as well as normal Java applications. Quickstart This library is published to Maven Central Add the dependency of the latest version to your pom.xml : Or if you are using Gradle: A simple example: API Description for the Java Library The following APIs are for advanced use-cases and require the developer to be familiar with the material. If you are not sure, just stick to the quick start example. Bcrypt Versions This implementation supports the various versions, which basically only differ through their identifier: For example the PHP implementation of bcrypt will return hashes with version $2y$ . By using BCrypt.withDefaults() it will default to version $2a$ . The older $2$ version is not supported. For advanced use cases you may add your own version by providing a version identifier and a custom message formatter as well as parser. byte[] vs char[] API You can use either char[] or byte[] as input or output parameter. The reason String is usually ","default_branch":null,"files":null,"tree":[],"storefront":"/r/patrickfav","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/patrickfav/bcrypt/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}