botanj
1.0.0
BotanjはJavaセキュリティプロバイダー(JSP)であり、Botanを使用してJava Cryptography Extension(JCE)の一部を実装しています。この実装は、他のJSP(弾力性のある城など)と互換性があるため、スムーズな移行が可能になります。
Botanjは、botanネイティブコードをロードするためにJNR-FFIを使用します。
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 ());