• MD5


    import java.io.UnsupportedEncodingException;

    import java.math.BigInteger;

    import java.security.MessageDigest;

    import java.security.NoSuchAlgorithmException;

    public class MD5 {

        public static String hex2asc(String str) {

            String[] s = str.trim().split("\\x");

            // System.out.println(s.length);

            StringBuffer sb = new StringBuffer();

            for (String sItem : s) {

                // System.out.println(sItem);

                sb.append(sItem);

            }

            int len = sb.toString().length();

            // String data = null;

            StringBuffer sb1 = new StringBuffer();

            for (int i = 0; i < len; i += 2) {

                int x = Integer.parseInt(sb.toString().substring(i, i + 2), 16);

                char ss = (char) x;

                System.out.println(x + "::" + ss + "转换后->" + MD5.md5(String.valueOf(ss)));

                sb1.append(String.valueOf(ss));

            }

            return sb1.toString();

        }

        public static String md5(String plainText) {

            byte[] secretBytes = null;

            try {

                try {

                    secretBytes = MessageDigest.getInstance("md5").digest(plainText.getBytes("UTF-8"));

                } catch (UnsupportedEncodingException e) {

                    System.out.println("不存在UTF-8编码");

                    e.printStackTrace();

                }

            } catch (NoSuchAlgorithmException e) {

                throw new RuntimeException("没有md5这个算法!");

            }

            String md5code = new BigInteger(1, secretBytes).toString(16);

            for (int i = 0; i < 32 - md5code.length(); i++) {

                md5code = "0" + md5code;

            }

            if(md5code.length()==31)

            {

                     md5code = "0" + md5code;

            }

            return md5code;

        }

             public static void main(String[] str)

             {

                       String persion ="";

                      System.out.println(MD5.md5("account870108card4096709300491381mobile15808907777type25f7af31ccb3544659373715bcc320b96").toUpperCase());

             }

       

    }

  • 相关阅读:
    一、Vue简介
    十四、GridLayout 网格布局
    二十二、ViewPager
    四、vbind练习(实现li标签点击后变色)
    三、动态绑定属性(Class)
    二、插值操作
    顺序的fqlist拆解成sample fqsize fq格式 ,涉及正则取样本名
    faidx提取fasta指定位置allele
    GATK GenotypeConcordance 比较vcf一致性:Sequence dictionaries are not the same size
    subset 函数 选择数据框/向量的子集
  • 原文地址:https://www.cnblogs.com/chinaifae/p/10400472.html
Copyright © 2020-2023  润新知