Sample code for 30+ languages & platforms
Java

PBES2 Password-Based Encryption

See more Encryption Examples

Demonstrates PBES2 encryption

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.Crypt2;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Crypt2 crypt = new Crypt2();

        // Set properties for PBES2 encryption:

        // When the encryption algorithm is set to "pbes2",
        // Chilkat will automatically derive the actual secret key using PBKDF2 and
        // the specified paramters: password, salt, iteration count, hash function, and desired key length.

        crypt.setCryptAlgorithm("pbes2");
        crypt.setPbesPassword("mySecretPassword");

        // Set the underlying PBE algorithm (and key length):
        crypt.setPbesAlgorithm("aes");
        crypt.setKeyLength(256);

        crypt.setEncodedIV("000102030405060708090A0B0C0D0E0F", "hex");

        // Give it some salt:
        crypt.setEncodedSalt("0102030405060708", "hex");

        // A higher iteration count makes the algorithm more
        // computationally expensive and therefore exhaustive
        // searches (for breaking the encryption) is more difficult:
        crypt.setIterationCount(1024);

        // A hash algorithm needs to be set for PBES2:
        crypt.setHashAlgorithm("sha256");

        // Indicate that the encrypted bytes should be returned
        // as a hex string:
        crypt.setEncodingMode("hex");

        String plainText = "To be encrypted.";

        String encryptedText = crypt.encryptStringENC(plainText);

        System.out.println(encryptedText);

        // Now decrypt:
        String decryptedText = crypt.decryptStringENC(encryptedText);

        System.out.println(decryptedText);
    }
}