Tüm Ürünler
Search
Belge Merkezi

MaxCompute:ENHANCED_SYM_DECRYPT

Son Güncelleme:Oct 04, 2026

Bu konu, belirtilen bir anahtar kümesiyle verilerin şifresini çözmek için ENHANCED_SYM_DECRYPT işlevinin nasıl kullanılacağını açıklar.

Arka plan ve ön koşullar

MaxCompute'de ENHANCED_SYM_DECRYPT işlevini kullanarak belirtilen temel veya sarmalanmış anahtar kümesiyle verilerin şifresini çözebilirsiniz. Şifre çözme için kullanılan anahtar kümesi, şifrelemede kullanılanla aynı olmalıdır. Sarmalanmış anahtar kümesi, mevcut bir anahtar kümesinin Key Management Service (KMS) anahtarıyla şifrelenmesiyle oluşturulur. Sarmalanmış anahtar kümelerini KMS ile kullanarak anahtarları, temel anahtar kümelerine kıyasla daha güvenli yönetebilirsiniz.

ENHANCED_SYM_DECRYPT işlevini kullanmadan önce aşağıdaki adımları tamamlayın:

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

  • Verilerin şifresini çözmek için sarmalanmış bir anahtar kümesi kullanıyorsanız, bu anahtar kümesiyle ilişkili rolün izinlerine sahip olmanız gerekir. Daha fazla bilgi için bkz. KMS'yi etkinleştirin ve yapılandırmaları tamamlayın.

Söz dizimi

BINARY ENHANCED_SYM_DECRYPT(BINARY <keyset> , BINARY <ciphertext> [,string <additional_data>])

Parametreler

  • keyset: Zorunludur. BINARY veya STRUCT türünde olabilen kullanıcı anahtar kümesidir.

    Önemli

    Şifre çözme için kullanılan temel veya sarmalanmış anahtar kümesi, şifrelemede kullanılanla aynı olmalıdır.

  • ciphertext: Zorunludur. Şifresi çözülecek BINARY türündeki şifreli metindir. Şifreli metin, belirtilen anahtar kümesiyle şifrelenmiş olmalıdır.

  • additional_data: İsteğ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 düz 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

  • Düz bir anahtar kümesi kullanarak mf_user_info tablosundaki id_card_no sütununun şifresini çözün:

    Önemli

    Verilerin şifresini çözmeden önce şifrelendiğinden emin olun. Şifre çözme için kullanılan temel veya sarmalanmış anahtar kümesi, şifrelemede kullanılanla aynı olmalıdır. Şifreleme işlemi örneği için bkz. ENHANCED_SYM_ENCRYPT.

    INSERT OVERWRITE TABLE mf_user_info 
    SELECT id,
           name,
           gender,
           CAST(ENHANCED_SYM_DECRYPT(unhex('0A1072384D715A414541385044643351534C12580A330A0B4145532D47434D2D323536122026A8FB1126DF4F5B5DD03C180E6919565D7716CBB291815EFB5BBF30F8BEF9AF1801200210011A1072384D715A414541385044643351534C20022A0B68656C6C6F20776F726C64'), UNBASE64(id_card_no)) AS STRING) AS id_card_no,
           tel
    FROM mf_user_info;

    Aşağıdaki sonuç döner:

    SELECT * FROM mf_user_info;
    
    -- Sample result
    +------------+------+--------+------------+------------+
    | 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|
    +------------+------+--------+------------+------------+
  • Sarmalanmış bir anahtar kümesi kullanarak tel tablosundaki şifrelenmiş mf_user_info sütununun şifresini çözün:

     SELECT /*+ MAPJOIN(a) */ 
           id,
           name,
    	   gender,
    	   id_card_no,
           ENHANCED_SYM_DECRYPT(
             USE_WRAPPED_KEYSET('acs:kms:cn-hangzhou:1**************7:key/key-hzz****************1t', 
                                  'acs:ram::1**************7:role/kms', 
                                  unhex('613256354C576836656A59314D6D59344E7A6B7A624452754D6D3434627A49786443317A655859786358426F4E6A4D78447654524C4632635077766E74554654584579715242583953724167446D2F397131786F57456E6F5474516739633853766242674456773565736674714A4D5435524455382F6F6A2B4E61766D774344494C734B6A416B6B675A42496F5568656F566D38564C4F30506D4778767137646956517453447A5467395147775639533161305A464A6D6A45562B6742722F56386653444D6E424D2B71493779784668303866594E6D336578775744423949726B645A3469784F2B532B476E6750523854524A58326E5768666478347034473468687248684A514D615071332F526C342B67427652773D3D')
                                 ),
           	 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;

    Aşağıdaki sonuç döner:

    +------------+------+--------+------------+------+
    | 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 |
    +------------+------+--------+------------+------+