एईएस 16-बाइट ब्लॉक आकार का उपयोग करता है; यदि आपकी 10-15 वर्णों की सीमा दृढ़ है तो यह आपकी आवश्यकताओं के लिए सराहनीय रूप से अनुकूल है। पीकेसीएस # 11 (आईआईआरसी) पैडिंग योजना डेटा में 6-1 बाइट जोड़ती है और सटीक 16 बाइट्स का उत्पादन उत्पन्न करती है। आपको वास्तव में एक एन्क्रिप्शन मोड (जैसे सीबीसी) का उपयोग करने की आवश्यकता नहीं है क्योंकि आप केवल एक ब्लॉक एन्क्रिप्ट कर रहे हैं। इस बात का एक मुद्दा है कि आप चाबियाँ कैसे संभालेंगे - हमेशा एक मुद्दा है कि आप एन्क्रिप्शन कुंजी को कैसे संभालेंगे।
यदि आपको छोटे तारों के लिए छोटी डेटा लंबाई के साथ जाना होगा, तो आपको शायद सीईआर मोड में एईएस पर विचार करने की आवश्यकता है। यह एक बाइट स्ट्रीम उत्पन्न करने के लिए कुंजी और काउंटर का उपयोग करता है जो स्ट्रिंग के बाइट्स के साथ XOR'd है। यह आपके एन्क्रिप्टेड स्ट्रिंग को इनपुट सादे टेक्स्ट स्ट्रिंग के समान लंबाई में छोड़ देगा।
आपको सामान्य उद्देश्य संपीड़न एल्गोरिदम खोजने के लिए कड़ी मेहनत की जाएगी जो विश्वसनीय रूप से ऐसे छोटे तारों की लंबाई को कम कर देता है, इसलिए एन्क्रिप्टिंग से पहले संपीड़न मुश्किल से एक विकल्प है।
स्रोत
2010-06-16 07:09:40
क्या यह एक आवश्यकता है कि एन्क्रिप्शन "कड़ी" है (इस मामले में मेरा मतलब केवल गैर-तुच्छ है) क्रैक करने के लिए, या यह केवल स्ट्रिंग को छोटा करने के उद्देश्य से है? –
स्ट्रिंग को छोटा करना, और "क्रैक टू हार्ड" बस एक बोनस है –