File was renamed from app/src/main/java/com/hdl/photovoltaic/utils/HDLMD5Utils.java |
| | |
| | | |
| | | import java.io.File; |
| | | import java.io.FileInputStream; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.math.BigInteger; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.security.MessageDigest; |
| | | import java.security.NoSuchAlgorithmException; |
| | | |
| | | public class HDLMD5Utils { |
| | | public class Md5Utils { |
| | | /** |
| | | * MD5转字符串 |
| | | */ |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | public final static String md5(String plainText) { |
| | | |
| | | // 返回字符串 |
| | | |
| | | String md5Str = null; |
| | | |
| | | try { |
| | | |
| | | // 操作字符串 |
| | | |
| | | StringBuffer buf = new StringBuffer(); |
| | | |
| | | MessageDigest md = |
| | | |
| | | MessageDigest.getInstance("MD5"); |
| | | |
| | | // 添加要进行计算摘要的信息,使用 plainText 的 byte |
| | | |
| | | |
| | | md.update(plainText.getBytes()); |
| | | |
| | | // 计算出摘要,完成哈希计算。 |
| | | |
| | | byte b[] = md.digest(); |
| | | |
| | | int i; |
| | | |
| | | for (int offset = 0; offset < b.length; offset++) { |
| | | |
| | | i = b[offset]; |
| | | |
| | | if (i < 0) { |
| | | |
| | | i += 256; |
| | | |
| | | } |
| | | |
| | | if (i < 16) { |
| | | |
| | | buf.append("0"); |
| | | |
| | | } |
| | | |
| | | // 将整型 十进制 i |
| | | |
| | | |
| | | buf.append(Integer.toHexString(i)); |
| | | |
| | | } |
| | | |
| | | // 32位的加密 |
| | | |
| | | md5Str = buf.toString(); |
| | | |
| | | // 16位的加密 |
| | | |
| | | // md5Str = buf.toString().md5Strstring(8,24); |
| | | |
| | | } catch (Exception e) { |
| | | |
| | | e.printStackTrace(); |
| | | |
| | | } |
| | | |
| | | return md5Str; |
| | | |
| | | } |
| | | } |