v2.5.2
Giriş yap

JavaSciprt Şifreleme ve Şifre Çözme Fonksiyonu

gorkem59
468 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

Cevap yaz
Cevaplar (2)
erkanagri
395 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));
ebykdrms
395 gün önce

Öncelikle, eğer amacın şifrelemeyse bunu front-end tarafında yapmamalısın.
Şu anda haftalık 6 milyon indirmesi olan crypto-js paketini kullanabilirsin.
https://www.npmjs.com/package/crypto-js