<commit_before>[![Build Status](https://api.travis-ci.org/abstractj/cryptoparty.png)](https://api.travis-ci.org/abstractj/cryptoparty)

# AeroGear Crypto Java

A Java API to provide an easy way to use cryptography interfaces for developers built on top of [javax.crypto](http://docs.oracle.com/javase/7/docs/api/javax/crypto/package-summary.html) and [Bouncy Castle](http://www.bouncycastle.org) to support: [AES-GCM authenticated encryption](http://csrc.nist.gov/publications/nistpubs/800-38D/SP-800-38D.pdf), [password based key derivation](http://csrc.nist.gov/publications/nistpubs/800-132/nist-sp800-132.pdf) and [elliptic curve cryptography](http://www.nsa.gov/business/programs/elliptic_curve.shtml).

## Requirements

* JDK 6 or [higher](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
* [Apache Maven](http://maven.apache.org/guides/getting-started/) 

## Installation

### Android

The Android platform unfortunately ships an incomplete and outdated version of [Bouncy Castle for Android](https://code.google.com/p/android/issues/detail?id=3280) which also makes hard to install an updated version of the library. That said, we had to stick with [Spongy Castle](http://rtyley.github.io/spongycastle/), a version of [Bouncy Castle](http://www.bouncycastle.org) repackaged to make it work on Android.

    <dependency>
        <groupId>org.jboss.aerogear</groupId>
        <artifactId>aerogear-crypto</artifactId>
        <version>0.1.1</version>
    </dependency>

    <dependency>
        <groupId>com.madgag</groupId>
        <artifactId>scprov-jdk15on</artifactId>
        <version>1.47.0.3</version>
    </dependency>

### Regular Java projects

For regular Java EE and Java SE projects, [Bouncy Castle](http://www.bouncycastle.org) will be supported and there is no need to workaround it.

    <dependency>
        <groupId>org.jboss.aerogear</groupId>
        <artifactId>aerogear-crypto</artifactId>
        <version>0.1.1</version>
    </dependency>
    
    <dependency>
        <groupId>bouncycastle</groupId>
        <artifactId>bcprov-jdk16</artifactId>
        <version>140</version>
    </dependency>

## Getting started
<commit_msg>Updating the readme instructions for Android<commit_after>[![Build Status](https://api.travis-ci.org/abstractj/cryptoparty.png)](https://api.travis-ci.org/abstractj/cryptoparty)

# AeroGear Crypto Java

A Java API to provide an easy way to use cryptography interfaces for developers built on top of [javax.crypto](http://docs.oracle.com/javase/7/docs/api/javax/crypto/package-summary.html) and [Bouncy Castle](http://www.bouncycastle.org) to support: [AES-GCM authenticated encryption](http://csrc.nist.gov/publications/nistpubs/800-38D/SP-800-38D.pdf), [password based key derivation](http://csrc.nist.gov/publications/nistpubs/800-132/nist-sp800-132.pdf) and [elliptic curve cryptography](http://www.nsa.gov/business/programs/elliptic_curve.shtml).

## Requirements

* JDK 6 or [higher](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
* [Apache Maven](http://maven.apache.org/guides/getting-started/) 

## Installation

### Android

The Android platform unfortunately ships an incomplete and outdated version of [Bouncy Castle for Android](https://code.google.com/p/android/issues/detail?id=3280) which also makes hard to install an updated version of the library. That said, we had to stick with [Spongy Castle](http://rtyley.github.io/spongycastle/), a version of [Bouncy Castle](http://www.bouncycastle.org) repackaged to make it work on Android.

    <dependency>
        <groupId>org.jboss.aerogear</groupId>
        <artifactId>aerogear-crypto</artifactId>
        <version>0.1.3</version>
        <classifier>android</classifier>
    </dependency>

### Regular Java projects

For regular Java EE and Java SE projects, [Bouncy Castle](http://www.bouncycastle.org) will be supported and there is no need to workaround it.

    <dependency>
        <groupId>org.jboss.aerogear</groupId>
        <artifactId>aerogear-crypto</artifactId>
        <version>0.1.3</version>
    </dependency>
    
    <dependency>
        <groupId>bouncycastle</groupId>
        <artifactId>bcprov-jdk16</artifactId>
        <version>140</version>
    </dependency>

## Getting started

{'fraction_non_alphanumeric': 0.13455227379278012, 'fraction_numerical': 0.01992498827941866, 'mean_word_length': 4.025912838633687, 'pattern_counts': {'":': 0, '<': 61, '<?xml version=': 0, '>': 61, 'https://': 6, 'lorem ipsum': 0, 'www.': 10, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1386326', 'n_tokens_mistral': 1499, 'n_tokens_neox': 1351, 'n_words': 287}