2014-06-18 6 views
5

मैं इस तरह यूआरएल के साथ एन्क्रिप्टेड स्वरूप में डेटा पारित करने के लिए की जरूरत है, http://localhost:8080/app/{encrypted_data}जावा: वहाँ किसी भी एनकोडर जो आगे शामिल नहीं होगा डेटा एन्क्रिप्शन दौरान स्लेश है?

तो, वहाँ एन्कोडिंग में किसी भी एनकोडर जो आगे शामिल नहीं होगा स्लैश (/) है?

कृपया ध्यान दें: मैं एन्कोड किए गए डेटा से मैन्युअल रूप से किसी अन्य चरित्र द्वारा '/' को प्रतिस्थापित नहीं करना चाहता हूं।

.............................................. .................................................. ..............

संपादित: से Oleg EstekhinBase64 यूआरएल सुरक्षित एन्कोडिंग भी ठीक काम कर रहा है का उपयोग करने का टिप्पणी, मैं सिर्फ यहाँ पर एक उदाहरण जोड़ रहा।

उदाहरण: एनकोड:

String str = "subjects?_d=1"; 
byte[] bytesEncoded = Base64.encodeBase64URLSafe((str.getBytes())); 

डिकोड:

Base64 decoder = new Base64(true); 
byte[] decodedBytes = decoder.decode(new String(bytesEncoded)); 
System.out.println(new String(decodedBytes)); 

आउटपुट:

c3ViamVjdHM_X2Q9MQ 
subjects?_d=1 
+0

आपकी समस्या को आसान बनाने के लिए, आप https का उपयोग कर सकते हैं: // स्थानीय होस्ट: 8080/ऐप्स/डेटा = {} encrypted_data आपकी समस्या को आसान बनाने के लिए। क्या आप डेटा छिपाना चाहते हैं या यह प्रमाणित करने के लिए कि डेटा बदल दिया गया है या नहीं? – ErstwhileIII

+0

कोई भी आदमी, आवश्यकता नहीं है '?' या यूआरएल पैरामीटर के रूप में पास करें। दूसरा, मैं एन्कोडिंग कर रहा हूं क्योंकि मैं उस {एन्क्रिप्टेड_डाटा} पर एक यूआरएल पास कर रहा हूं, जिसमें फिर से कुछ '/' शामिल है। : डी – anij

+2

यूआरएल-सुरक्षित Base64 वेरिएंट रहे हैं, और सबसे Base64 पुस्तकालयों एक ओवरलोड एनकोड/डीकोड तरीकों कि इस तरह के वेरिएंट के साथ काम प्रदान करते हैं। उदाहरण के लिए [iHarder Base64 URL_SAFE] (http://iharder.sourceforge.net/current/java/base64/api/Base64.html#URL_SAFE) देखें। –

उत्तर

2
+0

वहाँ भी एक Base64 संस्करण जहां '+' और '/' प्रतिस्थापित कर रहे हैं। Http://en.wikipedia.org/wiki/Base64 देखें। विशेष रूप से में ** जावा 8 ** अब वहाँ http://docs.oracle.com/javase/8/docs/api/java/util/Base64.Encoder.html –

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