Java BigInteger From string2BigInteger(String plaintext)

Here you can find the source of string2BigInteger(String plaintext)

Description

String 2 big integer big integer.

License

Apache License

Parameter

Parameter Description
plaintext the plaintext

Return

the big integer

Declaration

public static BigInteger string2BigInteger(String plaintext) 

Method Source Code

//package com.java2s;
/*/*from  w w  w.  j a v  a 2  s. c  o  m*/
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import sun.misc.BASE64Encoder;

import java.io.UnsupportedEncodingException;
import java.math.BigInteger;

public class Main {
    /**
     * The constant BLOCK_SIZE.
     */
    public static final int BLOCK_SIZE = 102;
    private static final String CHAR_SET = "UTF-8";

    /**
     * String 2 big integer big integer.
     *
     * @param plaintext the plaintext
     * @return the big integer
     */
    public static BigInteger string2BigInteger(String plaintext) {

        String msg = base64Encode(plaintext);
        return toBigInteger(msg);
    }

    private static String base64Encode(String plaintext) {
        try {
            return new BASE64Encoder().encode(plaintext.getBytes(CHAR_SET))
                    .replace("\r\n", "").replace("\n", "");
        } catch (UnsupportedEncodingException e) {
            return new BASE64Encoder().encode(plaintext.getBytes())
                    .replace("\r\n", "").replace("\n", "");
        }
    }

    private static BigInteger toBigInteger(String text) {
        StringBuilder numberString = new StringBuilder(BLOCK_SIZE + 1);
        numberString.append("1");

        for (int i = 0; i < text.length(); ++i) {
            char c = text.charAt(i);
            int asc = (int) c;

            if (String.valueOf(asc).length() <= 2) {
                numberString.append("0");
            }

            numberString.append(asc);
        }

        return new BigInteger(numberString.toString());
    }
}

Related

  1. bytesToBigInteger(byte[] data, int[] offset)
  2. convertToBigInteger(String s)
  3. convertToBigInteger(String sequence)
  4. getUnsignedBigInteger(byte[] data, int offset, int length)
  5. getUnsignedBigInteger(long x)
  6. toBigInteger(@Nullable final Boolean value, @Nullable final BigInteger defaultValue)
  7. toBigInteger(@Nullable final byte[] value)
  8. ToBigInteger(BitSet bs)
  9. toBigIntegerFromHex(String val)