クラス AesCbcBytesEncryptor

java.lang.ObjectSE
org.springframework.security.crypto.encrypt.AesCbcBytesEncryptor
実装済みのインターフェース一覧:
BytesEncryptor

public final class AesCbcBytesEncryptor extends ObjectSE implements BytesEncryptor
BytesEncryptor は、ランダムな 16 バイトの初期化ベクトルを使用した 256 ビット AES/CBC/PKCS5 パディングを採用しています。初期化ベクトル(IV)は暗号化時に暗号文の先頭に追加され、復号時に削除されます。

Note that CBC mode provides confidentiality but not integrity or authenticity. Applications that require authenticated encryption should prefer AesGcmBytesEncryptor . See the OWASP 暗号化ストレージ早見表 for guidance on choosing a cipher mode.

withPassword(String, CharSequence) を介して鍵導出を行う場合、鍵は OWASP パスワードストレージ早見表に従って DEFAULT_PBKDF2_ITERATIONS 回の反復処理を伴う PBKDF2WithHmacSHA256 を使用して導出されます。導出は意図的にコストがかかるため、暗号化インスタンスは操作ごとに構築するのではなく、一度作成して再利用する必要があります。

導入:
5.7.26
関連事項:
  • 方法の詳細

    • withPassword

      public static AesCbcBytesEncryptor.Builder withPassword(StringSE password, CharSequenceSE salt)
      指定されたパスワードと 16 進数エンコードされたソルトから PBKDF2WithHmacSHA1 を使用して鍵を生成する暗号化器を作成します。
      パラメーター:
      password - パスワード値
      salt - 16 進数でエンコードされたソルト値
    • withSecretKey

      public static AesCbcBytesEncryptor.Builder withSecretKey(SecretKeySE secretKey)
      提供された SecretKeySE を使用して暗号化器を作成します。
      パラメーター:
      secretKey - 秘密(対称)鍵
    • encrypt

      public byte[] encrypt(byte[] bytes)
      インターフェースからコピーされた説明: BytesEncryptor
      バイト配列を暗号化します。
      次で指定:
      インターフェース BytesEncryptor 内の encrypt 
    • decrypt

      public byte[] decrypt(byte[] encryptedBytes)
      インターフェースからコピーされた説明: BytesEncryptor
      バイト配列を復号化します。
      次で指定:
      インターフェース BytesEncryptor 内の decrypt