2012-07-05 9 views
6

मैं कुछ समझना चाहता था। इसलिए मुझे विजिनेर सिफर के लिए कोड चाहिए। क्या किसी को पता है कि मैं जावा के लिए उस स्रोत कोड कहां पा सकता हूं?मुझे विजिनेर सिफर के लिए जावा स्रोत कोड कहां मिल सकता है? मेरे ऐप में

+2

AFAIK लिखने के लिए इसका उपयोग कर सकते हैं यह एक बहुत ही सरल सिफर है, इसे स्वयं क्यों लागू नहीं करें? वास्तव में आप जांच सकते हैं कि जावा क्रिप्टोग्राफी लाइब्रेरी में कार्यान्वयन है या नहीं, वैसे भी, मैं वास्तविक दुनिया अनुप्रयोगों में विजिनेर सिफर का उपयोग करने की अनुशंसा नहीं करूंगा। – Egor

+0

आप इस लिंक में अपना उत्तर यहां देख सकते हैं http://stackoverflow.com/questions/10280637/vigenere-cipher-in-java-for-all-utf-8-characters –

उत्तर

2

यहां एक विजिनेर सिफर कोड कार्यान्वयन Sample Java Code to Encrypt and Decrypt using Vigenere Cipher का एक लिंक है, इसके अलावा मैं विजिनेर सिफर को एन्क्रिप्शन के रूप में उपयोग करने की अनुशंसा नहीं कर सकता।

मैं jBCrypt की अनुशंसा करता हूं।

+1

आपके द्वारा पोस्ट किया गया लिंक अब मृत है। – GeoGriffin

+0

@GeoGriffin इंगित करने के लिए धन्यवाद, मैंने लिंक को दूसरे उदाहरण में अपडेट किया है। –

+0

लिंक फिर से मृत। – Omore

11

यह विजिनेर सिफर क्लास है, आप इसका उपयोग कर सकते हैं, बस एन्क्रिप्ट करें और डिक्रिप्ट फ़ंक्शन: कोड Rosetta Code से है।

public class VigenereCipher { 
    public static void main(String[] args) { 
     String key = "VIGENERECIPHER"; 
     String ori = "Beware the Jabberwock, my son! The jaws that bite, the claws that catch!"; 
     String enc = encrypt(ori, key); 
     System.out.println(enc); 
     System.out.println(decrypt(enc, key)); 
    } 

    static String encrypt(String text, final String key) { 
     String res = ""; 
     text = text.toUpperCase(); 
     for (int i = 0, j = 0; i < text.length(); i++) { 
      char c = text.charAt(i); 
      if (c < 'A' || c > 'Z') continue; 
      res += (char)((c + key.charAt(j) - 2 * 'A') % 26 + 'A'); 
      j = ++j % key.length(); 
     } 
     return res; 
    } 

    static String decrypt(String text, final String key) { 
     String res = ""; 
     text = text.toUpperCase(); 
     for (int i = 0, j = 0; i < text.length(); i++) { 
      char c = text.charAt(i); 
      if (c < 'A' || c > 'Z') continue; 
      res += (char)((c - key.charAt(j) + 26) % 26 + 'A'); 
      j = ++j % key.length(); 
     } 
     return res; 
    } 
} 
1

This pos टी तुम्हारी मदद करेगा गूढ़ रहस्य के लिए व्याप्ति पूरे कोड प्रदान की जाती है। आप इसे कोड

+0

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/1 93131471) – Lucifer

संबंधित मुद्दे