> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arc.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# cryptoDecrypt

> CData Arc のVault に保存されたキーと初期化ベクトルを使用して、AES で暗号化されたデータを復号します。

`AES` アルゴリズムを使用して、暗号化されたデータを復号します。

## 必要なパラメータ

* **keyVaultEntry**: キーに使用する暗号化されたVault アイテムの名前。このVault アイテムに保存される値は、keyVaultEntryFormat で設定されたエンコードに一致し、選択したアルゴリズムの長さ要件を満たす必要があります。
* **ivVaultEntry**: 初期化ベクトル（IV）に使用する暗号化されたVault アイテムの名前。このVault アイテムに保存される値は、ivVaultEntryFormat で設定されたエンコードに一致し、選択したアルゴリズムの長さ要件を満たす必要があります。

## オプションのパラメータ

* **algorithm**: 暗号化に使用するアルゴリズムの名前。現在、AES のみがサポートされる値です。128、192、256ビットのキー長に対応しています。
* **cipherMode**: 暗号化されたデータを処理して復号するために使用する方式。使用可能な値は`CBC`、`ECB`、`OFB`、`CFB`、`CTS`、`8OFB`、`8CFB`、`GCM`、`CTR`、`XTS` です。デフォルトは`CBC` です。
* **paddingMode**: メッセージを復号する際に余分なデータや欠落したデータを処理し、平文が正しく再構築されるようにするために使用する方式。使用可能な値は`PKCS7`、`Zeros`、`None`、`ANSIX923`、`ISO10126` です。デフォルトは`PKCS7` です。
* **keyVaultEntryFormat**: keyVaultEntry アイテムに保存される値のエンコード。使用可能な値は`HEX`、`BASE64`、`8BIT`、`RAW` です。デフォルトは`HEX` です。
* **ivVaultEntryFormat**: ivVaultEntry アイテムに保存される値のエンコード。使用可能な値は`HEX`、`BASE64`、`8BIT`、`RAW` です。デフォルトは`HEX` です。
* **data**: 復号するデータ。
* **file**: 復号するファイル。
* **outFile**: 復号したデータを保存するファイル。
* **inFormat**: 暗号化された入力データに使用するフォーマット。使用可能な値は`HEX`、`BASE64`、`8BIT`、`RAW` です。デフォルトは`HEX` です。
* **outFormat**: 暗号化された出力データに使用するフォーマット。使用可能な値は`HEX`、`BASE64`、`8BIT`、`RAW` です。デフォルトは`HEX` です。

## アウトプット属性

* **data**: outFile が指定されていない場合の、復号されたデータ。
* **outFile**: outFile が指定された場合の、復号されたデータを含むファイル。

## 例

次の例では、cryptoDecrypt オペレーションを使用して暗号化された値を復号します。値はAES とHEX エンコードを使用して暗号化されているため、この例ではデフォルトのAES アルゴリズムと、keyVaultEntryFormat およびivVaultEntryFormat パラメータのデフォルトのHEX エンコードを使用しています。これは、keyVaultEntry およびivVaultEntry の「key」と「iv」のVault アイテムに保存される値が、値の暗号化に使用された128ビットHEX エンコードの値に一致する必要があることを意味します。

正しい値を使用しないと、復号処理中にエラーが発生します。

```xml theme={null}
<!-- Encrypted value that was retrieved in an earlier step. -->
<arc:set attr="encrypted.value" value="D13B1E9F660B797347D1AAB00046BE70" />

<!-- Set both the Key and IV values. These are the names of the vault items that were used to encrypt the original data. -->
<arc:set attr="input.keyVaultEntry" value="key"/>
<arc:set attr="input.ivVaultEntry" value="iv"/>

<!-- Default algorithm is AES -->
<arc:set attr="input.algorithm" value="AES" />

<!-- Pass in the input item and call cryptoDecrypt -->
<arc:set attr="input.data" value="[encrypted.value]"/>  
<arc:call op="cryptoDecrypt" in="input" out="result" >
  <!-- Here is where you can use the newly decrypted value/data. A new file is used here. -->
  <arc:set attr="output.data" value="[result.data]" />
  <arc:set attr="output.filename" value="MyDecryptedData.txt" />
</arc:call>

<!-- Push the decrypted data, as a file, as output. -->
<arc:push item="output" />
```
