From 4575de680f208fe13833116470664c7252e84bc8 Mon Sep 17 00:00:00 2001
From: Kenmegne <stephanie.kenmegne@gmail.com>
Date: Fri, 19 Jun 2026 11:07:23 +0000
Subject: [PATCH] move to new repo

---
 Encryption/src/main/java/com/megatim/module/encryption/cipher/asymetric/GenerateKeys.java |   69 ++++++++++++++++++++++++++++++++++
 1 files changed, 69 insertions(+), 0 deletions(-)

diff --git a/Encryption/src/main/java/com/megatim/module/encryption/cipher/asymetric/GenerateKeys.java b/Encryption/src/main/java/com/megatim/module/encryption/cipher/asymetric/GenerateKeys.java
new file mode 100644
index 0000000..bcd4183
--- /dev/null
+++ b/Encryption/src/main/java/com/megatim/module/encryption/cipher/asymetric/GenerateKeys.java
@@ -0,0 +1,69 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.megatim.module.encryption.cipher.asymetric;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.PrivateKey;
+import java.security.PublicKey;
+
+/**
+ *
+ * @author STEPHANIE
+ */
+public class GenerateKeys {
+
+    private KeyPairGenerator keyGen;
+    private KeyPair pair;
+    private PrivateKey privateKey;
+    private PublicKey publicKey;
+
+    public GenerateKeys(int keylength) throws NoSuchAlgorithmException, NoSuchProviderException {
+        this.keyGen = KeyPairGenerator.getInstance("RSA");
+        this.keyGen.initialize(keylength);
+    }
+
+    public void createKeys() {
+        this.pair = this.keyGen.generateKeyPair();
+        this.privateKey = pair.getPrivate();
+        this.publicKey = pair.getPublic();
+    }
+
+    public PrivateKey getPrivateKey() {
+        return this.privateKey;
+    }
+
+    public PublicKey getPublicKey() {
+        return this.publicKey;
+    }
+
+    public void writeToFile(String path, byte[] key) throws IOException {
+        File f = new File(path);
+        f.getParentFile().mkdirs();
+
+        FileOutputStream fos = new FileOutputStream(f);
+        fos.write(key);
+        fos.flush();
+        fos.close();
+    }
+
+    public static void generateKeys(int keyLength,String pathToPrivateKey, String pathToPublicKey) {
+
+        try {
+            GenerateKeys gk;
+            gk = new GenerateKeys(keyLength);
+            gk.createKeys();
+            gk.writeToFile(pathToPublicKey, gk.getPublicKey().getEncoded());
+            gk.writeToFile(pathToPrivateKey, gk.getPrivateKey().getEncoded());
+        } catch (NoSuchAlgorithmException | NoSuchProviderException | IOException e) {
+            System.err.println(e.getMessage());
+        }
+    }
+}

--
Gitblit v1.10.0