में पैडिंग मुझे DESede pkcs5 पैडिंग का उपयोग करके एक स्ट्रिंग एन्क्रिप्ट करने की आवश्यकता है। हालांकि सी # केवल पीकेसीएस 7 पैडिंग प्रदान करता है। तो मैं इसे कैसे प्राप्त कर सकता हूं?पीकेसीएस 5 सी #
9
A
उत्तर
11
इम बात लेकिन एक त्वरित गूगल पर कोई अधिकार इस कर दिया: http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/13a20d89-7d84-4f7d-8f5c-5ae108a7f5cf/
लगता 7 & 5 गद्दी ALGs। समान हैं।
3
BouncyCastle जैसी एक अलग लाइब्रेरी का उपयोग करने का प्रयास करें।
+0
हां, कक्षा ** Org.BouncyCastle.Crypto.Paddings.Pkcs7 पैडिंग ** और इसकी विधि _AddPadding_ देखें। –
मुझे लगता है कि दोनों में से एक को आधिकारिक तौर पर ब्लॉक आकारों के लिए 8 बाइट्स में परिभाषित किया गया है, लेकिन आम तौर पर वे समान होना चाहिए। अधिकांश पुस्तकालयों में केवल 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 होगा, यदि सादा पाठ ब्लॉक आकार से 9 बाइट कम है, निश्चित रूप से एईएस के लिए 10101010101010101010101010101010 तक, क्योंकि सीबीसी के लिए आपको कम से कम 1 पैडिंग बाइट चाहिए। –
@owlstead: आप सही हैं। आधिकारिक तौर पर पीकेसीएस # 5 128 बिट ब्लॉक के लिए 64 बिट ब्लॉक और पीकेसीएस # 7 के लिए है। व्यावहारिक रूप से सामान्य समाधान का उपयोग करना जो भी उपलब्ध है और देखें कि यह काम करता है या नहीं। 9 5% वे दोनों एक जैसे होंगे। – rossum
हां, मुझे वह पोस्ट भी मिला। हालांकि मैं कुछ भुगतान को प्रभावित करने के लिए बाहरी एपीआई का उपयोग कर रहा हूं और इसे विशेष रूप से पीकेसीएस # 5 पैडिंग की आवश्यकता है और मुझे यकीन नहीं है कि एपीआई पीकेसीएस # 7 पैडिंग के साथ कैसे व्यवहार करेगी, इसलिए मैंने यह सुनिश्चित करने के लिए कहा कि स्ट्रिंग को एन्क्रिप्ट करने का कोई आसान तरीका नहीं है सी # में पीकेसीएस # 5 का उपयोग करके मन के टुकड़े को सुनिश्चित करना कि मैं एपीआई को सही डेटा पास कर रहा हूं – Jonny