注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

関数とアクションで CipherText プロパティを使用する

関数での Cipher の使用は、オペレーショナルユーザーライセンスが必要です。この操作(ハッシュ化、暗号化、復号化)に対してチェックポイントが設定されている場合、ライセンスはチェックポイントをバイパスできるように設定する必要があります。

関数のコードリポジトリを使用して CipherText オブジェクトのプロパティと対話することができ、一括暗号化や一括復号化といった高度なロジックを実現できます。関数の使用を開始するには、このチュートリアルを参照してください。

以下の例では、次のプロパティを持つ EncryptedCustomer オブジェクトがあると仮定しています:

  • 暗号化された CipherText name
  • 一意で、暗号化されていない整数 id

このオブジェクトと対話するための二つの関数を記述します:

  • decryptEncryptedCustomer()EncryptedCustomer オブジェクトを入力として受け取り、プレーンテキストの名前を返します。
  • updateEncryptedName()EncryptedCustomer オブジェクトと newName を入力として受け取り、そのオブジェクトの暗号化された名前を newName に更新します。

Type_Classes

関数で CipherText プロパティを復号化する

この例では、EncryptedCustomer オブジェクトの name プロパティを復号化して返します。

Copied!
1 2 3 4 5 6 7 8 9 import { Function, Integer, OntologyEditFunction, Edits } from "@foundry/functions-api"; import { Objects, EncryptedCustomers } from "@foundry/ontology-api"; // 関数: 暗号化された顧客の名前を復号化する @Function() public async decryptEncryptedCustomer(customer: EncryptedCustomers): Promise<string | undefined> { // 名前の復号化を実行して返す return await customer.name?.decryptAsync(); }

関数での CipherText プロパティの更新

以下の例では、EncryptedCustomer オブジェクトの name プロパティを更新しています。この例の関数は、オブジェクトを更新する関数と同様に、@OntologyEditFunction() および @Edits(EncryptedCustomers) でアノテーションされている必要があることに注意してください。また、この関数をプレビューで実行しても実際にはオブジェクトが編集されないことに注意してください。

// 英語から日本語に翻訳されたコードです。

import { Function, Integer, OntologyEditFunction, Edits } from "@foundry/functions-api";
import { Objects, EncryptedCustomers } from "@foundry/ontology-api";

@OntologyEditFunction()
@Edits(EncryptedCustomers)
public async updateEncryptedName(customer: EncryptedCustomers, newName: string): Promise<void> {
    // 暗号化された顧客の名前を更新する関数です。
    await customer.name?.updateAsync(newName);
}