ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
إنشاء KeyClient مع بيانات اعتماد المصادقة البرمجية المناسبة، ثم إنشاء تشفيرClient استخدام العميل لتعيين وتحديث وتدوير مفتاح في Azure Key Vault.
تحديد خوارزمية تشفير
لتحقيق أفضل استخدام ل SDK وقوائم التعداد والأنواع المتوفرة الخاصة بها، حدد خوارزمية التشفير قبل المتابعة إلى القسم التالي.
- RSA - Rivest–Shamir–Adleman
- AES GCM - وضع عداد Galois القياسي المتقدم للتشفير
- AES CBC - سلسلة كتل تشفير قياسية متقدمة
استخدم قائمة تعداد KnownEncryptionAlgorithms لتحديد خوارزمية معينة.
import {
KnownEncryptionAlgorithms
} from '@azure/keyvault-keys';
const myAlgorithm = KnownEncryptionAlgorithms.RSAOaep256
الحصول على مفتاح التشفير
إنشاء مفتاح تشفير KeyVaultKey أو الحصول عليه من Key Vault لاستخدامه مع التشفير وفك التشفير.
تشفير وفك تشفير باستخدام مفتاح
يتطلب التشفير أحد كائنات المعلمات التالية:
تتطلب algorithm
كائنات المعلمات الثلاثة و المستخدمة plaintext
للتشفير. يظهر أدناه مثال على معلمات تشفير RSA.
import { DefaultAzureCredential } from '@azure/identity';
import {
CryptographyClient,
KeyClient,
KnownEncryptionAlgorithms
} from '@azure/keyvault-keys';
// get service client using AZURE_KEYVAULT_NAME environment variable
const credential = new DefaultAzureCredential();
const serviceClient = new KeyClient(
`https://${process.env.AZURE_KEYVAULT_NAME}.vault.azure.net`,
credential
);
// get existing key
const keyVaultKey = await serviceClient.getKey('myRsaKey');
if (keyVaultKey?.name) {
// get encryption client
const encryptClient = new CryptographyClient(keyVaultKey, credential);
// set data to encrypt
const originalInfo = 'Hello World';
// set encryption algorithm
const algorithm = KnownEncryptionAlgorithms.RSAOaep256;
// encrypt settings: RsaEncryptParameters | AesGcmEncryptParameters | AesCbcEncryptParameters
const encryptParams = {
algorithm,
plaintext: Buffer.from(originalInfo)
};
// encrypt
const encryptResult = await encryptClient.encrypt(encryptParams);
// ... hand off encrypted result to another process
// ... other process needs to decrypt data
// decrypt settings: DecryptParameters
const decryptParams = {
algorithm,
ciphertext: encryptResult.result
};
// decrypt
const decryptResult = await encryptClient.decrypt(decryptParams);
console.log(decryptResult.result.toString());
}
يقوم كائن encryptParams بتعيين معلمات التشفير. استخدم عناصر المعلمات المشفرة التالية لتعيين الخصائص.
يقوم الكائن decryptParams بتعيين المعلمات لفك التشفير. استخدم كائنات معلمة فك التشفير التالية لتعيين الخصائص.