إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على:
Databricks SQL
Databricks Runtime 10.4 LTS وما فوق
تشفير ثنائي باستخدام تشفير AES.
بناء الجملة
aes_encrypt(expr, key [, mode [, padding[, iv[, aad]]]])
الوسيطات
exprBINARY: التعبير المراد تشفيره.key: تعبيرBINARY. المفتاح الذي سيتم استخدامه لتشفيرexpr. يجب أن يكون طوله 16 أو 24 أو 32 بايت.mode: تعبير اختياريSTRINGيصف وضع التشفير.padding: تعبير اختياريSTRINGيصف كيفية تعامل التشفير مع ترك مساحة للقيمة إلى طول المفتاح.iv: تعبير اختياريSTRINGيوفر متجه تهيئة (IV) لGCMأوCBCأوضاع. ينطبق على Databricks SQL وDatabricks Runtime 13.3 LTS وما فوق.aad: تعبير اختياريSTRINGيوفر بيانات إضافية مصادق عليها (AAD) فيGCMالوضع. ينطبق على Databricks SQL وDatabricks Runtime 13.3 LTS وما فوق.
المرتجعات
BINARY.
mode يجب أن يكون واحدا من (غير حساس لحالة الأحرف):
'CBC': استخدم وضع تسلسل كتلة التشفير (CBC ). ينطبق على Databricks SQL وDatabricks Runtime 13.3 LTS وما فوق.'ECB': استخدام وضع دفتر التعليمات البرمجية الإلكتروني (ECB ).'GCM': استخدم Galois/Counter Mode (GCM) . هذا هو الوضع الافتراضي.
padding يجب أن يكون واحدا من (غير حساس لحالة الأحرف):
'NONE': لا يستخدم أي ترك مساحة. صالح فقط ل'GCM'.'PKCS': يستخدم ترك مساحة مساحة معايير تشفير المفتاح العام (PKCS ). صالح فقط ل'ECB'و'CBC'. يضيف ترك مساحة PKCS بين 1 وعدد طول المفتاح من وحدات البايت إلى مسافةexprمتعددة منkeyالطول. قيمة كل بايت لوحة هو عدد وحدات البايت التي يتم إضافتها.'DEFAULT': يستخدم'NONE'لوضع'GCM'و'PKCS'و'ECB''CBC'.
iv، عند تحديده، يجب أن يكون طوله 12 بايت و16 GCM بايت ل CBC.
تعتمد الخوارزمية على طول المفتاح:
16: AES-12824: AES-19232: AES-256
الأمثلة
> SELECT base64(aes_encrypt('Spark', 'abcdefghijklmnop'));
4A5jOAh9FNGwoMeuJukfllrLdHEZxA2DyuSQAWz77dfn
> SELECT cast(aes_decrypt(unbase64('4A5jOAh9FNGwoMeuJukfllrLdHEZxA2DyuSQAWz77dfn'),
'abcdefghijklmnop') AS STRING);
Spark
> SELECT base64(aes_encrypt('Spark SQL', '1234567890abcdef', 'ECB', 'PKCS'));
3lmwu+Mw0H3fi5NDvcu9lg==
> SELECT cast(aes_decrypt(unbase64('3lmwu+Mw0H3fi5NDvcu9lg=='),
'1234567890abcdef', 'ECB', 'PKCS') AS STRING);
Spark SQL
> SELECT base64(aes_encrypt('Spark SQL', '1234567890abcdef', 'GCM'));
2sXi+jZd/ws+qFC1Tnzvvde5lz+8Haryz9HHBiyrVohXUG7LHA==
> SELECT cast(aes_decrypt(unbase64('2sXi+jZd/ws+qFC1Tnzvvde5lz+8Haryz9HHBiyrVohXUG7LHA=='),
'1234567890abcdef', 'GCM') AS STRING);
Spark SQL
> SELECT base64(aes_encrypt('Spark SQL', '1234567890abcdef', 'GCM', 'DEFAULT', '123456789012', 'Some AAD'));
MTIzNDU2Nzg5MDEyMdXvR41sJqwZ6hnTU8FRTTtXbL8yeChIZA==
> SELECT cast(aes_decrypt(unbase64('MTIzNDU2Nzg5MDEyMdXvR41sJqwZ6hnTU8FRTTtXbL8yeChIZA=='),
'1234567890abcdef', 'GCM', 'DEFAULT', 'Some AAD') AS STRING);
Spark SQL