Tüm Ürünler
Search
Belge Merkezi

MaxCompute:ENHANCED_SYM_ENCRYPT

Son Güncelleme:Oct 04, 2026

Bu konuda, belirtilen bir anahtar kümesi kullanarak verileri şifrelemek için ENHANCED_SYM_ENCRYPT işlevinin nasıl kullanılacağı açıklanmaktadır.

Arka plan bilgileri ve ön koşullar

MaxCompute, belirtilen bir temel anahtar kümesi veya sarmalanmış anahtar kümesi kullanarak verileri şifrelemek için ENHANCED_SYM_ENCRYPT işlevini kullanmanıza olanak tanır. Mevcut bir anahtar kümesini Key Management Service (KMS) anahtarıyla şifreleyerek sarmalanmış bir anahtar kümesi oluşturabilirsiniz. Temel anahtar kümelerine kıyasla, sarmalanmış anahtar kümelerini KMS ile birlikte kullanarak anahtarları daha güvenli bir şekilde yönetebilirsiniz.

ENHANCED_SYM_ENCRYPT işlevini kullanmadan önce aşağıdaki ön koşulların karşılandığından emin olun:

  • NEW_KEYSET veya NEW_WRAPPED_KEYSET işleviyle bir temel anahtar kümesi veya sarmalanmış bir anahtar kümesi oluşturun. Daha fazla bilgi için bkz. NEW_KEYSET veya NEW_WRAPPED_KEYSET.

  • Sarmalanmış bir anahtar kümesinden USE_WRAPPED_KEYSET işleviyle bir temel anahtar kümesi alın. Verileri şifrelemek için sarmalanmış bir anahtar kümesi kullanmak istiyorsanız bu ön koşulun karşılanması gerekir. Temel anahtar kümesi, verileri şifrelemek için ENHANCED_SYM_ENCRYPT işlevinde parametre olarak kullanılır. Ayrıca, hesabınıza sarmalanmış anahtar kümesini kullanma iznine sahip rol atanmalıdır.

Sözdizimi

binary ENHANCED_SYM_ENCRYPT(binary <keyset> , string|binary <plaintext> [,string <additional_data>])

Parametreler

  • keyset: gereklidir. Bu parametre, BINARY türünde bir temel anahtar kümesini veya STRUCT türünde bir sarmalanmış anahtar kümesini belirtir.

  • plaintext: gereklidir. Bu parametre, şifrelemek istediğiniz STRING veya BINARY türündeki düz metni belirtir.

  • additional_data: isteğe bağlıdır. Bu parametre, algoritma tarafından desteklenen doğrulama bilgilerini belirtir. Doğrulama bilgileri STRING türündedir.

Dönüş değeri

BINARY türünde şifreli metin döndürür.

Örnek veriler

-- Create a table.
create table mf_user_info(id bigint,
                          name string,
                          gender string,
                          id_card_no string,
                          tel string);
-- Insert data into the table.
insert overwrite table mf_user_info values(1,"bob","male","0001","13900001234"),
                                       (2,"allen","male","0011","13900001111"),
                                     (3,"kate","female","0111","13900002222"),
                                     (4,"annie","female","1111","13900003333");
-- Query data from the table.
select * from mf_user_info;
+------------+------+--------+------------+------------+
| id         | name | gender | id_card_no |    tel     |
+------------+------+--------+------------+------------+
| 1          | bob  | male   | 0001       | 13900001234|
| 2          | allen| male   | 0011       | 13900001111|
| 3          | kate | female | 0111       | 13900002222|
| 4          | annie| female | 1111       | 13900003333|
+------------+------+--------+------------+------------+

Örnekler

  • Temel bir anahtar kümesi kullanarak mf_user_info tablosundaki id_card_no sütununu şifreleyin.

    insert overwrite table mf_user_info
    select id,
        name,
        gender,
           base64(ENHANCED_SYM_ENCRYPT(unhex ('0A1072384D715A414541385044643351534C12580A330A0B4145532D47434D2D323536122026A8FB1126DF4F5B5DD03C180E6919565D7716CBB291815EFB5BBF30F8BEF9AF1801200210011A1072384D715A414541385044643351534C20022A0B68656C6C6F20776F726C64'), id_card_no ))as id_card_no,
          tel
    from mf_user_info;

    Aşağıdaki örnek ifade şifreleme sonucunu sorgular:

    select * from mf_user_info;
    
    -- The following result is returned:
    +------------+------+--------+------------+-----+
    | id         | name | gender | id_card_no | tel |
    +------------+------+--------+------------+-----+
    | 1          | bob  | male   | nLcdDFdjO2T4aATtirvDMVeBD8oSuu4BfM3t+Y8ny0kwQjJlAQAwkVhYOocPQll8LmdzSwkRf3v2iTow+TAmnQ== | 13900001234 |
    | 2          | allen | male   | nLcdDFdjO2T4aATtirvDMVeBD8oSuu4BfM3t+Y8ny0kwQjJlAQBgj1hYOodIPdnyZ0ijZ9RmT+50xbxXh5cwcg== | 13900001111 |
    | 3          | kate | female | nLcdDFdjO2T4aATtirvDMVeBD8oSuu4BfM3t+Y8ny0kwQjJlAQCwp1hYOoentQgkfUqctPbmX96k9eD018xg9Q== | 13900002222 |
    | 4          | annie | female | nLcdDFdjO2T4aATtirvDMVeBD8oSuu4BfM3t+Y8ny0kwQjJlAQDQqFhYOodexhRmfh6VieEwePZscC4nUVTJXQ== | 13900003333 |
    +------------+------+--------+------------+-----+
  • Sarmalanmış bir anahtar kümesi kullanarak mf_user_info tablosundaki tel sütununu şifreleyin.

    1. Sarmalanmış bir anahtar kümesi oluşturun ve bunu bir tabloya yazın.

      -- Create a table.
      create table mf_keyset_kms (id string,ks binary);
      -- Create a wrapped keyset and write it to the table.
      insert into mf_keyset_kms 
            select '1',
                   NEW_WRAPPED_KEYSET(
                      'acs:kms:cn-hangzhou:1**************7:key/key-hzz****************1t', 
                      'acs:ram::1**************7:role/kms', 
                      'AES-GCM-256', 
                     'description');
      -- Query data from the table.
      select id,hex(ks) from mf_keyset_kms;
      
      -- The following result is returned:
      +----+-----+
      | id | _c1 |
      +----+-----+
      | 1  | 613256354C576836656A59314D6D59344E7A6B7A624452754D6D3434627A49786443317A655859786358426F4E6A4D78447654524C4632635077766E74554654584579715242583953724167446D2F397131786F57456E6F5474516739633853766242674456773565736674714A4D5435524455382F6F6A2B4E61766D774344494C734B6A416B6B675A42496F5568656F566D38564C4F30506D4778767137646956517453447A5467395147775639533161305A464A6D6A45562B6742722F56386653444D6E424D2B71493779784668303866594E6D336578775744423949726B645A3469784F2B532B476E6750523854524A58326E5768666478347034473468687248684A514D615071332F526C342B67427652773D3D |
      +----+-----+
    2. Sarmalanmış anahtar kümesini kullanarak tel sütununu şifreleyin.

      select /*+ MAPJOIN(a) */ 
             id,
             name,
      	   gender,
      	   id_card_no, 
             ENHANCED_SYM_ENCRYPT(
                 USE_WRAPPED_KEYSET('acs:kms:cn-hangzhou:1**************7:key/key-hzz****************1t', 
                                    'acs:ram::1**************7:role/kms', 
                                    unhex('613256354C576836656A59314D6D59344E7A6B7A624452754D6D3434627A49786443317A655859786358426F4E6A4D78447654524C4632635077766E74554654584579715242583953724167446D2F397131786F57456E6F5474516739633853766242674456773565736674714A4D5435524455382F6F6A2B4E61766D774344494C734B6A416B6B675A42496F5568656F566D38564C4F30506D4778767137646956517453447A5467395147775639533161305A464A6D6A45562B6742722F56386653444D6E424D2B71493779784668303866594E6D336578775744423949726B645A3469784F2B532B476E6750523854524A58326E5768666478347034473468687248684A514D615071332F526C342B67427652773D3D')
                                   ),
                 tel
             ) as tel 
       FROM mf_user_info;

      Sonuç aşağıdaki gibi döndürülür:

      +------------+------+--------+------------+------+
      | id         | name | gender | id_card_no | tel  |
      +------------+------+--------+------------+------+
      | 1          | bob  | male   | 0001       | =F1=EEa=13V9=CCsB=90=E7=F3fl=D2=CB=F31=D8=3D=88=B7=F7=0CnG=E3\R=FC)=F2=10=3D2e=01=00=90=86=05=94z;=18=A6j=1CN=E5=9F=AC)=8D=D6=D8=0D=A2Y{kq=EE=F4~=C4=A7=9BS=A1w |
      | 2          | allen | male   | 0011       | =F1=EEa=13V9=CCsB=90=E7=F3fl=D2=CB=F31=D8=3D=88=B7=F7=0CnG=E3\R=FC)=F2=10=3D2e=01=00=20=AA=05=94z;=85=D8=08a=A2]=02d=20=B1=C3=AE=AF=1C{=EB=EA=C4=81=B5A=15=1BR=F7g=9B |
      | 3          | kate | female | 0111       | =F1=EEa=13V9=CCsB=90=E7=F3fl=D2=CB=F31=D8=3D=88=B7=F7=0CnG=E3\R=FC)=F2=10=3D2e=01=00=20=B6=05=94z;[C=12=81=8B<=C1=9D=E2=CF=CE=BC=AE=A7=84=0F[=7CI=B9=B7=9D=DD=89=A8=FD! |
      | 4          | annie | female | 1111       | =F1=EEa=13V9=CCsB=90=E7=F3fl=D2=CB=F31=D8=3D=88=B7=F7=0CnG=E3\R=FC)=F2=10=3D2e=01=00=00=A2=05=94z;E=03A=BC=7C=88=CFJ=14=B9=BD=A1=BF=ED=20=11=A3=A6/+%=0Fe=DD=C7=C8=0A |
      +------------+------+--------+------------+------+