查看数字签名

2020-09-03  本文已影响0人  M_天河
private String getSign(String pkn){
              String sign = null;
              Signature[] signs = getRawSignature(pkn);
              if(signs.length != 0){
                     sign = getMessageDigest(signs[0].toByteArray()).toUpperCase();
              }
              return sign;
       }
       
       private Signature[] getRawSignature(String pkn){
              Signature[] signs = null;
              if(pkn != null && pkn.length() != 0){
                     PackageManager mmPackageManager = getPackageManager();
                     try {
                           signs = mmPackageManager.getPackageInfo(pkn, 64).signatures;
                     } catch (Exception e) {
                           e.printStackTrace();
                     }
              }
              return signs;
       }
       
        public String getMessageDigest(byte[] arg10) {
               char[] v1 = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd',
                       'e', 'f'};
               try {
                   MessageDigest v6 = MessageDigest.getInstance("MD5");
                   v6.update(arg10);
                   byte[] v0 = v6.digest();
                   int v3 = v0.length;
                   char[] v2 = new char[v3 << 1];
                   int v4 = 0;
                   int v5 = 0;
                   while(v4 < v3) {
                       int v7 = v0[v4];
                       int v8 = v5 + 1;
                       v2[v5] = v1[v7 >>> 4 & 15];
                       v5 = v8 + 1;
                       v2[v8] = v1[v7 & 15];
                       ++v4;
                   }
                   String v10 = new String(v2);
                   return v10;
               }
               catch(Exception v9) {
                   return null;
               }
           }
上一篇 下一篇

猜你喜欢

热点阅读