botanj
1.0.0
Botanj est un fournisseur de sécurité Java (JSP), qui utilise Botan pour implémenter des parties de l'extension de cryptographie Java (JCE). Cette implémentation est compatible avec d'autres JSP (par exemple, château gonflable), permettant ainsi une migration fluide.
Botanj utilise JNR-FFI pour charger le code natif 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 ());