All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.parse.ParseDigestUtils Maven / Gradle / Ivy

Go to download

A library that gives you access to the powerful Parse cloud platform from your Android app.

There is a newer version: 1.17.3
Show newest version
/*
 * Copyright (c) 2015-present, Parse, LLC.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 */
package com.parse;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * Static utility helpers to compute {@link MessageDigest}s.
 */
/* package */ class ParseDigestUtils {

  private static final char[] hexArray = "0123456789abcdef".toCharArray();

  private ParseDigestUtils() {
    // no instances allowed
  }

  public static String md5(String string) {
    MessageDigest digester;
    try {
      digester = MessageDigest.getInstance("MD5");
    } catch (NoSuchAlgorithmException e) {
      throw new RuntimeException(e);
    }

    digester.update(string.getBytes());
    byte[] digest = digester.digest();
    return toHex(digest);
  }

  private static String toHex(byte[] bytes) {
    // The returned string will be double the length of the passed array, as it takes two
    // characters to represent any given byte.
    char[] hexChars = new char[bytes.length * 2];
    for ( int j = 0; j < bytes.length; j++ ) {
      int v = bytes[j] & 0xFF;
      hexChars[j * 2] = hexArray[v >>> 4];
      hexChars[j * 2 + 1] = hexArray[v & 0x0F];
    }
    return new String(hexChars);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy