com.google.common.io.BaseEncoding#encode ( )源码实例Demo

下面列出了com.google.common.io.BaseEncoding#encode ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。


/** Create a secure JWT token for the given userId. */
public String createFirebaseToken(Game game, String userId) {
  final AppIdentityService appIdentity = AppIdentityServiceFactory.getAppIdentityService();
  final BaseEncoding base64 = BaseEncoding.base64();

  String header = base64.encode("{\"typ\":\"JWT\",\"alg\":\"RS256\"}".getBytes());

  // Construct the claim
  String channelKey = game.getChannelKey(userId);
  String clientEmail = appIdentity.getServiceAccountName();
  long epochTime = System.currentTimeMillis() / 1000;
  long expire = epochTime + 60 * 60; // an hour from now

  Map<String, Object> claims = new HashMap<String, Object>();
  claims.put("iss", clientEmail);
  claims.put("sub", clientEmail);
  claims.put("aud", IDENTITY_ENDPOINT);
  claims.put("uid", channelKey);
  claims.put("iat", epochTime);
  claims.put("exp", expire);

  String payload = base64.encode(new Gson().toJson(claims).getBytes());
  String toSign = String.format("%s.%s", header, payload);
  AppIdentityService.SigningResult result = appIdentity.signForApp(toSign.getBytes());
  return String.format("%s.%s", toSign, base64.encode(result.getSignature()));
}
 
源代码2 项目: AndroidWallet   文件: sha256_object.java

@Override
public JsonElement serialize(sha256_object src,
                             Type typeOfSrc,
                             JsonSerializationContext context) {

    BaseEncoding encoding = BaseEncoding.base16().lowerCase();

    return new JsonPrimitive(encoding.encode(src.hash));
}
 

@Test
public void testRoundtrip() throws IOException {
    String txBody = "AAAAAM6jLgjKjuXxWkir4M7v0NqoOfODXcFnn6AGlP+d4RxAAAAAZAAIiE4AAAABAAAAAAAAAAEAAAAcyKMl+WDSzuttWkF2DvzKAkkEqeSZ4cZihjGJEAAAAAEAAAAAAAAAAQAAAAAgECmBaDwiRPE1z2vAE36J+45toU/ZxdvpR38tc0HvmgAAAAAAAAAAAJiWgAAAAAAAAAABneEcQAAAAECeXDKebJoAbST1T2AbDBui9K0TbSM8sfbhXUAZ2ROAoCRs5cG1pRvY+ityyPWFEKPd7+3qEupavkAZ/+L7/28G";
    BaseEncoding base64Encoding = BaseEncoding.base64();
    byte[] bytes = base64Encoding.decode(txBody);

    TransactionEnvelope transactionEnvelope = TransactionEnvelope.decode(new XdrDataInputStream(new ByteArrayInputStream(bytes)));
    ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();

    transactionEnvelope.encode(new XdrDataOutputStream(byteOutputStream));
    String serialized = base64Encoding.encode(byteOutputStream.toByteArray());
    assertEquals(serialized, txBody);
}
 
源代码4 项目: AndroidWallet   文件: compact_signature.java

@Override
public JsonElement serialize(compact_signature src, Type typeOfSrc,
                             JsonSerializationContext context) {
    BaseEncoding encoding = BaseEncoding.base16().lowerCase();

    return new JsonPrimitive(encoding.encode(src.data));
}
 

@Override
public JsonElement serialize(sha256_object src,
                             Type typeOfSrc,
                             JsonSerializationContext context) {

    BaseEncoding encoding = BaseEncoding.base16().lowerCase();

    return new JsonPrimitive(encoding.encode(src.hash));
}
 

@Override
public JsonElement serialize(compact_signature src,
                             Type typeOfSrc,
                             JsonSerializationContext context) {
    BaseEncoding encoding = BaseEncoding.base16().lowerCase();

    return new JsonPrimitive(encoding.encode(src.data));
}
 

@Override
public JsonElement serialize(ByteBuffer src,
                             Type typeOfSrc,
                             JsonSerializationContext context) {
    BaseEncoding encoding = BaseEncoding.base16().lowerCase();

    return new JsonPrimitive(encoding.encode(src.array()));
}
 
源代码8 项目: bitshares_wallet   文件: sha256_object.java

@Override
public JsonElement serialize(sha256_object src,
                             Type typeOfSrc,
                             JsonSerializationContext context) {

    BaseEncoding encoding = BaseEncoding.base16().lowerCase();

    return new JsonPrimitive(encoding.encode(src.hash));
}
 

@Override
public JsonElement serialize(compact_signature src,
                             Type typeOfSrc,
                             JsonSerializationContext context) {
    BaseEncoding encoding = BaseEncoding.base16().lowerCase();

    return new JsonPrimitive(encoding.encode(src.data));
}
 

@Override
public JsonElement serialize(ByteBuffer src,
                             Type typeOfSrc,
                             JsonSerializationContext context) {
    BaseEncoding encoding = BaseEncoding.base16().lowerCase();

    return new JsonPrimitive(encoding.encode(src.array()));
}
 

@Override
public SfsRequest call(SfsRequest httpServerRequest) {
    MultiMap headers = httpServerRequest.headers();

    String value = headers.get(headerName);
    if (value != null) {
        boolean failed = false;
        BaseEncoding baseEncoding = base16().lowerCase();
        try {
            byte[] decoded = baseEncoding.decode(value);
            if (decoded == null) {
                failed = true;
            } else {
                String encoded = baseEncoding.encode(decoded);
                if (!value.equals(encoded)) {
                    failed = true;
                }
            }
        } catch (Throwable e) {
            // do nothing
        }
        if (failed) {
            JsonObject jsonObject = new JsonObject()
                    .put("message", format("%s must be Base16 lowercase encoded", headerName));

            throw new HttpRequestValidationException(HTTP_BAD_REQUEST, jsonObject);
        }
    }
    return httpServerRequest;
}
 

/**
 * Returns base64-encoded TransactionEnvelope XDR object. Transaction need to have at least one signature.
 */
public String toEnvelopeXdrBase64() {
  try {
    TransactionEnvelope envelope = this.toEnvelopeXdr();
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    XdrDataOutputStream xdrOutputStream = new XdrDataOutputStream(outputStream);
    TransactionEnvelope.encode(xdrOutputStream, envelope);

    BaseEncoding base64Encoding = BaseEncoding.base64();
    return base64Encoding.encode(outputStream.toByteArray());
  } catch (IOException e) {
    throw new AssertionError(e);
  }
}
 
源代码13 项目: AndroidWallet   文件: sha512_object.java

@Override
public String toString() {
    BaseEncoding encoding = BaseEncoding.base16().lowerCase();
    return encoding.encode(hash);
}
 
源代码14 项目: AndroidWallet   文件: sha256_object.java

@Override
public String toString() {
    BaseEncoding encoding = BaseEncoding.base16().lowerCase();
    return encoding.encode(hash);
}
 

@Override
public String toString() {
    BaseEncoding encoding = BaseEncoding.base16().lowerCase();
    return encoding.encode(hash);
}
 

@Override
public String toString() {
    BaseEncoding encoding = BaseEncoding.base16().lowerCase();
    return encoding.encode(hash);
}
 

@Override
public String toString() {
    BaseEncoding encoding = BaseEncoding.base16().lowerCase();
    return encoding.encode(hash);
}
 
源代码18 项目: bitshares_wallet   文件: sha256_object.java

@Override
public String toString() {
    BaseEncoding encoding = BaseEncoding.base16().lowerCase();
    return encoding.encode(hash);
}
 
源代码19 项目: bitshares_wallet   文件: sha224_object.java

@Override
public String toString() {
    BaseEncoding encoding = BaseEncoding.base16().lowerCase();
    return encoding.encode(hash);
}
 

/**
 * Serialize an object into a String. The object is first serialized into a byte array,
 * which is converted into a String using the given {@link BaseEncoding}.
 *
 * @param obj A {@link Serializable} object
 * @param enc The {@link BaseEncoding} used to encode a byte array.
 * @return A String representing the input object
 * @throws IOException if it fails to serialize the object
 */
public static <T extends Serializable> String serialize(T obj, BaseEncoding enc) throws IOException {
  return enc.encode(serializeIntoBytes(obj));
}