有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Base 64编码和解码示例代码

有人知道如何使用Base64对Base64中的字符串进行解码和编码吗。我正在使用以下代码,但它不起作用

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)));

共 (5) 个答案

  1. # 1 楼答案

    要加密:

    byte[] encrpt= text.getBytes("UTF-8");
    String base64 = Base64.encodeToString(encrpt, Base64.DEFAULT);
    

    要解密:

    byte[] decrypt= Base64.decode(base64, Base64.DEFAULT);
    String text = new String(decrypt, "UTF-8");
    
  2. # 2 楼答案

    对于Kotlinmb,最好使用以下选项:

    fun String.decode(): String {
        return Base64.decode(this, Base64.DEFAULT).toString(charset("UTF-8"))
    }
    
    fun String.encode(): String {
        return Base64.encodeToString(this.toByteArray(charset("UTF-8")), Base64.DEFAULT)
    }
    

    例如:

    Log.d("LOGIN", "TEST")
    Log.d("LOGIN", "TEST".encode())
    Log.d("LOGIN", "TEST".encode().decode())
    
  3. # 3 楼答案

    对于在这里搜索如何解码用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"); 
    

    另外,我支持旧版本的Android,所以我使用的是来自http://iharder.net/base64的Robert Harder的Base64库

  4. # 4 楼答案

    如果您使用的是Kotlin,请像这样使用

    用于编码

    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"))
    
  5. # 5 楼答案

    差不多

    String source = "password"; 
    byte[] byteArray;
    try {
        byteArray = source.getBytes("UTF-16");
        System.out.println(new String(Base64.decode(Base64.encode(byteArray,
               Base64.DEFAULT), Base64.DEFAULT)));
    } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }