botanj
1.0.0
Botanj é um provedor de segurança Java (JSP), que usa Botan para implementar partes da Extensão de Criptografia Java (JCE). Esta implementação é compatível com outros JSPs (por exemplo, castelo saltitante), permitindo assim uma migração suave.
Botanj usa o JNR-FFI para carregar o código nativo de Botan.
mvn test final MessageDigest digest = MessageDigest . getInstance ( "blake2b-512" , BotanProvider . NAME );
final byte [] output = digest . digest ( "hello world" . getBytes ()); final SecretKeySpec key = new SecretKeySpec ( key , "HMAC-SHA512" );
final Mac mac = Mac . getInstance ( "HMAC-SHA512" , BotanProvider . NAME );
mac . init ( key );
final byte [] output = mac . doFinal ( "hello world" . getBytes ()); final Cipher cipher = Cipher . getInstance ( "AES-256/GCM/NoPadding" , BotanProvider . NAME );
// Never reuse the IV with the same key
cipher . init ( Cipher . ENCRYPT_MODE , key , iv );
cipher . updateAAD ( aad );
final byte [] output = cipher . doFinal ( "hello world" . getBytes ()); final Cipher cipher = Cipher . getInstance ( "AES-256/CBC/PKCS7" , BotanProvider . NAME );
cipher . init ( Cipher . ENCRYPT_MODE , key , iv );
final byte [] output = cipher . doFinal ( "hello world" . getBytes ()); final Cipher cipher = Cipher . getInstance ( "ChaCha20/None/NoPadding" , BotanProvider . NAME );
// Never reuse the IV with the same key
cipher . init ( Cipher . ENCRYPT_MODE , key , iv );
final byte [] output = cipher . doFinal ( "hello world" . getBytes ());