Convert BigInteger to Shorter String in Java

后端 未结 2 1179
逝去的感伤
逝去的感伤 2021-01-13 11:52

I\'m looking for a way to convert a BigInteger into a very short String (shortest possible). The conversion needs to be reversible. The security of the conversion is not a b

2条回答
  •  [愿得一人]
    2021-01-13 12:41

    You can use a Base64 encoding. Note that this example uses Apache commons-codec:

    BigInteger number = new BigInteger("4143222334431546643677890898767548679452");
    System.out.println(number);
    
    String encoded = new String(Base64.encodeBase64(number.toByteArray()));
    System.out.println(encoded);
    
    BigInteger decoded = new BigInteger(Base64.decodeBase64(encoded));
    System.out.println(decoded);
    

    prints:

    4143222334431546643677890898767548679452
    DC0DmJRYaAn2AVdEZMvmhRw=
    4143222334431546643677890898767548679452
    

提交回复
热议问题