-
Notifications
You must be signed in to change notification settings - Fork 42
Open
Description
from nacl.signing import SigningKey
import binascii
def generate_ed25519_keys():
"""
يقوم بإنشاء زوج من مفاتيح Ed25519: مفتاح خاص ومفتاح عام.
المرتجعات:
tuple: يحتوي على المفتاح الخاص والمفتاح العام كلاهما بسلسلة سداسية عشرية.
"""
# إنشاء مفتاح توقيع جديد (وهو المفتاح الخاص)
private_key_nacl = SigningKey.generate()
# الحصول على المفتاح الخاص بصيغة بايت ثم تحويله إلى سلسلة سداسية عشرية
private_key_bytes = private_key_nacl.encode()
private_key_hex = binascii.hexlify(private_key_bytes).decode('utf-8')
# استخراج المفتاح العام من المفتاح الخاص
public_key_nacl = private_key_nacl.verify_key
public_key_bytes = public_key_nacl.encode()
public_key_hex = binascii.hexlify(public_key_bytes).decode('utf-8')
return private_key_hex, public_key_hex
توليد المفاتيح
private_key, public_key = generate_ed25519_keys()
print(f"المفتاح الخاص (Private Key): {private_key}")
print(f"المفتاح العام (Public Key): {public_key}")
ملاحظة: لحفظ المفاتيح بشكل دائم، ستحتاج إلى كتابتها في ملفات.
لا تنسَ حماية المفتاح الخاص!
Metadata
Metadata
Assignees
Labels
No labels