إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على:
Databricks SQL
Databricks Runtime 10.4 LTS وما فوق
فك تشفير ثنائي تم إنتاجه باستخدام تشفير AES.
بناء الجملة
aes_decrypt(expr, key [, mode [, padding [, aad]]])
الوسيطات
exprBINARY: التعبير المراد فك تشفيره.key: تعبيرBINARY. يجب أن يتطابق مع المفتاح المستخدم في الأصل لإنتاج القيمة المشفرة وأن يكون طوله 16 أو 24 أو 32 بايت.mode: تعبير اختياريSTRINGيصف وضع التشفير المستخدم لإنتاج القيمة المشفرة.padding: تعبير اختياريSTRINGيصف كيفية معالجة التشفير ترك مساحة للقيمة إلى طول المفتاح.aad: تعبير اختياريSTRINGيوفر بيانات إضافية مصادق عليها (AAD) فيGCMالوضع. يجب أن تتطابق معaadالمستخدمة لإنتاج القيمة المشفرة. ينطبق على Databricks SQL وDatabricks Runtime 13.3 LTS وما فوق.
المرتجعات
ثنائي.
mode يجب أن يكون واحدا من (غير حساس لحالة الأحرف):
'CBC': استخدم وضع تسلسل كتلة التشفير (CBC ). ينطبق على Databricks SQL وDatabricks Runtime 13.3 LTS وما فوق.'ECB': استخدام وضع دفتر التعليمات البرمجية الإلكتروني (ECB ).'GCM': استخدم Galois/Counter Mode (GCM) . هذا هو الوضع الافتراضي.
padding يجب أن يكون واحدا من (غير حساس لحالة الأحرف):
'NONE': لا يستخدم أي ترك مساحة. صالح فقط ل'GCM'.'PKCS': يستخدم ترك مساحة مساحة معايير تشفير المفتاح العام (PKCS ). صالح فقط ل'ECB'و'CBC'.'DEFAULT': يستخدم'NONE'لوضع'GCM'و'PKCS'و'ECB''CBC'.
تعتمد الخوارزمية على طول المفتاح:
16: AES-12824: AES-19232: AES-256
للتسامح مع أي حالات خطأ ناتجة عن فك التشفير والعودة NULL بدلا من ذلك استخدم try_aes_decrypt
الأمثلة
> 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
-- try_aes_decrypt tolerates an error where aes_decrypt does not.
> SELECT cast(aes_decrypt(x'1234567890abcdef1234567890abcdef', '1234567890abcdef', 'GCM') AS STRING);
Error: INVALID_PARAMETER_VALUE.AES_KEY
> SELECT cast(try_aes_decrypt(x'1234567890abcdef1234567890abcdef', '1234567890abcdef', 'GCM') AS STRING);
NULL
> SELECT base64(aes_encrypt('Apache Spark', '0000111122223333', 'CBC', 'PKCS'));
U2FsdGVkX1/ERGxwEOTDpDD4bQvDtQaNe+gXGudCcUk=
> SELECT cast(aes_decrypt(unbase64('OkzJi9oaiKJtTMmOrFjH2QWJZYF1UwT+4cA2008LlHA='), '0000111122223333', 'CBC', 'PKCS') AS STRING);
Apache Spark
> 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