[java] बेस 64 एन्कोड और डीकोड उदाहरण कोड


2 Answers

Base64.encodeBytes() साथ एन्कोड किए गए स्ट्रिंग को डीकोड करने के बारे में जानकारी खोजने के दौरान यहां समाप्त होने वाले किसी और व्यक्ति के लिए, मेरा समाधान यहां था:

// encode
String ps = "techPass";
String tmp = Base64.encodeBytes(ps.getBytes());

// decode
String ps2 = "dGVjaFBhC3M=";
byte[] tmp2 = Base64.decode(ps2); 
String val2 = new String(tmp2, "UTF-8"); 

इसके अलावा, मैं एंड्रॉइड के पुराने संस्करणों का समर्थन कर रहा हूं इसलिए मैं http://iharder.net/base64 से रॉबर्ट हार्डर की बेस 64 लाइब्रेरी का उपयोग कर रहा हूं

Question

क्या किसी को बेस 64 का उपयोग कर बेस 64 में स्ट्रिंग को डीकोड और एन्कोड करने का तरीका पता है। मैं निम्नलिखित कोड का उपयोग कर रहा हूं, लेकिन यह काम नहीं कर रहा है।

String source = "password"; 
byte[] byteArray = source.getBytes("UTF-16"); 
Base64 bs = new Base64(); 
//bs.encodeBytes(byteArray); 
System.out.println( bs.encodeBytes(byteArray)); 
//bs.decode(bs.encodeBytes(byteArray));
System.out.println(bs.decode(bs.encodeBytes(byteArray)));



यदि आप इस तरह के उपयोग से कोटलिन का उपयोग कर रहे हैं

एनकोड के लिए

val password = "Here Your String"
val data = password.toByteArray(charset("UTF-8"))
val base64 = Base64.encodeToString(data, Base64.DEFAULT)

डीकोड के लिए

val datasd = Base64.decode(base64, Base64.DEFAULT)
val text = String(datasd, charset("UTF-8"))



पिछले उत्तरों के आधार पर मैं निम्नलिखित उपयोगिता विधियों का उपयोग कर रहा हूं यदि कोई इसका उपयोग करना चाहेगा।

    /**
 * @param message the message to be encoded
 *
 * @return the enooded from of the message
 */
public static String toBase64(String message) {
    byte[] data;
    try {
        data = message.getBytes("UTF-8");
        String base64Sms = Base64.encodeToString(data, Base64.DEFAULT);
        return base64Sms;
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }

    return null;
}

/**
 * @param message the encoded message
 *
 * @return the decoded message
 */
public static String fromBase64(String message) {
    byte[] data = Base64.decode(message, Base64.DEFAULT);
    try {
        return new String(data, "UTF-8");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }

    return null;
}



Related