से डीईएस कुंजी बनाएं मेरे पास 56 बिट बाइनरी स्ट्रिंग है जिसे मैं डीईएस एन्क्रिप्शन के लिए गुप्त कुंजी के रूप में उपयोग करना चाहता हूं।56 बिट बाइनरी स्ट्रिंग
मैं JCA डॉक्स वेबसाइट
byte[] desKeyData = { (byte)0x01, (byte)0x02, (byte)0x03,
(byte)0x04, (byte)0x05, (byte)0x06, (byte)0x07, (byte)0x08 };
DESKeySpec desKeySpec = new DESKeySpec(desKeyData);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
हालांकि इस कुंजी (7 के बजाय) के लिए 8 बाइट्स का उपयोग करता है पर निम्न कोड मिला। यह स्पष्ट नहीं है कि deskeyData [0] कम से कम महत्वपूर्ण बाइट या सबसे महत्वपूर्ण एक से मेल खाता है। साथ ही, क्या बाइट सरणी उत्पन्न करने के लिए सीधे 56 बिट स्ट्रिंग का उपयोग करना संभव है जिसका उपयोग इस उद्देश्य के लिए किया जा सकता है?
एक 8-बाइट इनपुट सामान्यतः इसका मतलब है कि यह प्रत्येक बाइट के 7 कम से कम महत्वपूर्ण बिट्स का उपयोग कर रहा है। –
और कौन सा बाइट सबसे महत्वपूर्ण है? 0 वें या 7 वां? – AnkurVj
सबसे महत्वपूर्ण बात यह है कि दुनिया में क्यों हम अभी भी 2011 में डीईएस का उपयोग कर रहे हैं? ("पिछड़ा संगतता" का जवाब देने वाला पहला "आपको नहीं मिला-मेरा-पॉइंट-किया-आप?" बैज अर्जित करेगा – CAFxX