全部产品
Search
文档中心

Key Management Service:Contoh kode untuk enkripsi data

更新时间:Jul 02, 2025

Setelah membuat kunci master pelanggan (CMK) Standar Enkripsi Lanjutan (AES) atau SM4, Anda dapat menggunakan kode dari SDK Key Management Service (KMS) untuk mengenkripsi data. Contoh dalam topik ini menggunakan KMS SDK for Java untuk enkripsi data.

Persiapan

  1. Dapatkan deklarasi dependensi KMS SDK for Java. Untuk informasi lebih lanjut tentang versi SDK yang diperlukan, lihat Ikhtisar SDK. Contoh kode:

    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>4.5.2</version>
    </dependency>
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-kms</artifactId>
        <version>2.14.0</version>
    </dependency>
  2. Dapatkan titik akhir KMS berdasarkan wilayah KMS. Untuk informasi lebih lanjut, lihat Membuat Permintaan API.

    Catatan

    Dalam contoh ini, Anda dapat menentukan ID wilayah untuk mengakses titik akhir publik KMS. Untuk informasi lebih lanjut tentang cara mengakses alamat virtual private cloud (VPC) KMS, lihat Contoh Penggunaan KMS SDK for Java.

Enkripsi data

Gunakan kode berikut dari KMS SDK for Java untuk mengenkripsi data:

Catatan

Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua Operasi API. Menggunakan pasangan AccessKey untuk melakukan operasi adalah operasi berisiko tinggi. Selain itu, gunakan pengguna RAM untuk memanggil Operasi API atau melakukan pemeliharaan rutin. Kami menyarankan agar Anda tidak menyimpan ID AccessKey dan Rahasia AccessKey di kode proyek Anda. Jika Anda melakukannya, pasangan AccessKey mungkin bocor dan keamanan semua sumber daya yang dimiliki oleh akun Anda mungkin terganggu.

Dalam contoh ini, pasangan AccessKey disimpan dalam variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET untuk mengimplementasikan otentikasi identitas.

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;

import java.io.UnsupportedEncodingException;

import com.aliyuncs.kms.model.v20160120.*;
import com.aliyuncs.utils.Base64Helper;

public class Encrypt {

    public static void main(String[] args) {
        /*
         * 1. Tentukan wilayah tempat CMK Anda berada.
         * 2. Tentukan ID AccessKey dan rahasia AccessKey yang diperlukan untuk mengakses KMS.
         */
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
, System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        IAcsClient client = new DefaultAcsClient(profile);

        try {
            EncryptRequest request = new EncryptRequest();
            // Tentukan alias CMK atau ID CMK yang digunakan untuk mengenkripsi "Hello world".
            request.setKeyId("alias/Apollo/SalaryEncryptionKey");
            request.setPlaintext(Base64Helper.encode("Hello world", null));

            EncryptResponse response = client.getAcsResponse(request);
            System.out.println(new Gson().toJson(response));
        } catch (ServerException | UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }
    }
}

Untuk informasi lebih lanjut tentang kode contoh, kunjungi alibabacloud-kms-demo.