key-encrypter
v1.0.0
Published
Custom character-based encryption/decryption system with random mapping
Maintainers
Readme
Key Encrypter Desktop Application
Özel karakter eşlemeli şifreleme/şifre çözme sistemi. Bu Electron tabanlı desktop uygulaması, belirtilen kurallara göre metinleri şifreler ve şifresini çözer. Windows tarzı klasik arayüze sahiptir.
🔐 Özellikler
- Özel Karakter Eşlemeleri: Belirli harfler için sabit eşlemeler
- Rastgele Eşlemeler: Diğer karakterler için rastgele eşlemeler
- x= Prefix: Tüm şifrelenmiş metinler
x=ile başlar - Güvenli Şifreleme: Hiçbir karakter kendisiyle eşlenmez
- Çift Yönlü: Şifreleme ve şifre çözme desteği
📋 Özel Karakter Eşlemeleri
| Orijinal | Şifrelenmiş | Açıklama | |----------|-------------|----------| | a, A | 4 | Küçük ve büyük A harfi | | e, E | 3 | Küçük ve büyük E harfi | | i, I | 1 | Küçük ve büyük I harfi | | z, Z | 2 | Küçük ve büyük Z harfi | | g | 9 | Küçük g harfi | | G | 6 | Büyük G harfi | | u, U | v, V | U harfi V'ye dönüşür | | j, J | i, I | J harfi I'ya dönüşür | | l, L | j, J | L harfi J'ye dönüşür |
🚀 Kurulum
NPM'den Global Kurulum (Önerilen)
# Global olarak kurun
npm install -g key-encrypter
# Uygulamayı başlatın
key-encrypter
# Veya alternatif komut
key-encrypter-appManuel Kurulum
# 1. Projeyi klonlayın
git clone <repo-url>
cd KeyEncrypter
# 2. Bağımlılıkları yükleyin
npm install
# 3. Uygulamayı başlatın
npm run electronHızlı Başlatma (Manuel kurulum için)
Windows'ta çift tıklayarak çalıştırın:
start-app.bat💻 Kullanım
Temel Kullanım
const KeyEncrypter = require('./keyEncrypter');
// Yeni bir şifreleme nesnesi oluştur
const key = new KeyEncrypter();
// Metin şifrele
const deneme = "deneme";
const denemeOut = key.encrypt(deneme);
console.log(denemeOut); // x= ile başlayan şifrelenmiş metin
// Şifrelenmiş metni yazdır
function print(encryptedText) {
console.log(encryptedText);
}
print(denemeOut);
// Şifre çöz
const decrypted = key.decrypt(denemeOut);
console.log(decrypted); // "deneme"Gelişmiş Kullanım
// Eşlemeleri görüntüle
key.showMappings();
// Yeni rastgele eşlemeler oluştur
key.regenerateMappings();
// Farklı metin türleri
const examples = [
"hello world",
"JavaScript",
"Türkçe metin",
"123456789",
"!@#$%^&*()"
];
examples.forEach(text => {
const encrypted = key.encrypt(text);
const decrypted = key.decrypt(encrypted);
console.log(`"${text}" → "${encrypted}" → "${decrypted}"`);
});🏃♂️ Çalıştırma
Desktop Uygulaması
# Electron uygulamasını başlat
npm run electron
# Geliştirme modunda başlat
npm run electron-dev
# Windows için hızlı başlatma
start-app.batKomut Satırı Testleri
npm start # Demo çalıştır
npm test # Testleri çalıştır
npm run quick # Hızlı testUygulama Özellikleri
- 🖥️ Windows tarzı arayüz: Klasik Windows uygulaması görünümü
- ⌨️ Klavye kısayolları: Ctrl+E (Şifrele), Ctrl+D (Şifre Çöz)
- 📋 Otomatik kopyalama: Sonuçları panoya otomatik kopyalama
- 🔄 Canlı eşlemeler: Rastgele eşlemeleri yeniden oluşturma
- ⚙️ Ayarlar: Prefix gösterme, otomatik kopyalama vb.
📁 Dosya Yapısı
KeyEncrypter/
├── package.json # Proje yapılandırması ve Electron ayarları
├── main.js # Electron ana süreç
├── renderer.js # Electron renderer süreç
├── app.html # Ana uygulama arayüzü
├── styles.css # Windows tarzı CSS stilleri
├── keyEncrypter.js # Ana şifreleme sınıfı
├── start-app.bat # Windows başlatma scripti
├── index.js # Komut satırı demo
├── test.js # Kapsamlı test süreci
├── quick-test.js # Hızlı test
└── README.md # Bu dosya🧪 Test Sonuçları
Test dosyası şunları kontrol eder:
- ✅ Temel şifreleme ve şifre çözme
- ✅ x= prefix kontrolü
- ✅ Özel karakter eşlemeleri
- ✅ Büyük/küçük harf eşlemeleri
- ✅ Hata yönetimi
- ✅ Performans testleri
- ✅ Bellek kullanımı
- ✅ Türkçe karakter desteği
🔧 API Referansı
new KeyEncrypter()
Yeni bir şifreleme nesnesi oluşturur.
encrypt(text)
Verilen metni şifreler.
- Parametre:
text(string) - Şifrelenecek metin - Dönüş: Şifrelenmiş metin (x= ile başlar)
- Hata: String olmayan girdi için hata fırlatır
decrypt(encryptedText)
Şifrelenmiş metni çözer.
- Parametre:
encryptedText(string) - Şifrelenmiş metin - Dönüş: Orijinal metin
- Hata: x= ile başlamayan girdi için hata fırlatır
showMappings()
Mevcut karakter eşlemelerini konsola yazdırır.
regenerateMappings()
Yeni rastgele eşlemeler oluşturur (özel eşlemeler sabit kalır).
🛡️ Güvenlik Özellikleri
- Karakter Çeşitliliği: Her karakter farklı bir karaktere eşlenir
- Rastgele Eşlemeler: Özel karakterler dışındaki tüm karakterler rastgele eşlenir
- Prefix Kontrolü: Tüm şifrelenmiş metinler x= ile başlar
- Hata Yönetimi: Geçersiz girdiler için uygun hata mesajları
🎯 Örnek Çıktılar
Orijinal: "deneme"
Şifrelenmiş: "x=d3n3m3"
Şifresi Çözülmüş: "deneme"
Orijinal: "hello"
Şifrelenmiş: "x=h3jj@"
Şifresi Çözülmüş: "hello"🤝 Katkıda Bulunma
- Projeyi fork edin
- Yeni bir branch oluşturun (
git checkout -b feature/amazing-feature) - Değişikliklerinizi commit edin (
git commit -m 'Add some amazing feature') - Branch'inizi push edin (
git push origin feature/amazing-feature) - Pull Request oluşturun
📄 Lisans
Bu proje MIT lisansı altında lisanslanmıştır.
🐛 Hata Bildirimi
Herhangi bir hata veya öneri için lütfen issue açın.
📞 İletişim
Sorularınız için lütfen iletişime geçin.
Not: Bu şifreleme sistemi eğitim amaçlıdır. Kritik güvenlik uygulamaları için profesyonel şifreleme kütüphaneleri kullanın.
