v2.5.2
Giriş yap

JavaSciprt Şifreleme ve Şifre Çözme Fonksiyonu

gorkem59
432 defa görüntülendi

Arkadaşlar JS ile verilen datayı şifreleme ve istediğim zaman şifreden çözmek için 2 fonksiyon oluşturmaya çalışıyorum ama istediğim sonucu vermiyor.

function encryptData(data) {
     let encryptedData = '';

     for (let i = 0; i < data.length; i++) {
           const randomChar = String.fromCharCode(Math.floor(Math.random() * 26) + 65); // Rastgele büyük harf
           encryptedData += randomChar + data.charCodeAt(i);
     }

     return encryptedData;
}
            
            
function decryptData(encryptedData) {
     let decryptedData = '';

     for (let i = 0; i < encryptedData.length; i += 2) {
            const charCode = encryptedData.charCodeAt(i + 1);
            decryptedData += String.fromCharCode(charCode);
     }

     return decryptedData;
}


Bunları chatgtp'ye yaptırdım ama şifrelenmiş veriyi düzgün çözmüyor. Daha basit şifreleme ve şifre çözme fonksiyonu olan varsa yardımcı olabilir mi?
Herhangi bir şifreleme yapısı olabilir

erkanagri
368 gün önce

@gorkem59 Kriptoloji ile ilgili biraz makale okuman gerektiğini düşünüyorum. Chatgpt'den bunun için faydalanabilirsin. Yazdığın kodu kimsenin kolaylıkla çözememesini istiyorsan Chatgpt'nin verdiği kod işine yaramayacaktır.

@ebykdrms'nin bahsettiği crypto-js kütüphanesi ile örnek bir çalışma yapmıştım, buradan bakabilirsin: https://github.com/webaraclar/Encryption-with-Javascript

Chatgpt'nin verdiği kodun düzeltilmiş hali:

let yazi = "erkanagri";
function encryptData(data) {
     let encryptedData = '';

     for (let i = 0; i < data.length; i++) {
           const randomChar = String.fromCharCode(Math.floor(Math.random() * 26) + 65); // Rastgele büyük harf
           encryptedData += randomChar + data.charCodeAt(i);
     }

     return encryptedData;
}
            
            
function decryptData(encryptedData) {
     let kelime = (encryptedData.match(/(\d){2,3}/g));
     let decryptedData = '';
     
     for (let i=0; i < kelime.length; i++){
    decryptedData += String.fromCharCode(kelime[i]);
    }

     return decryptedData;
}
let sfr = encryptData(yazi);
console.log(decryptData(sfr));