美文网首页
JavaMD5与OCMD5匹配一致

JavaMD5与OCMD5匹配一致

作者: iOS小武哥 | 来源:发表于2017-11-30 10:26 被阅读131次
Java端代码如下:
第一种方法:
public class test {  
    public final static String MD5(String s) {    
          char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',    
            'a', 'b', 'c', 'd', 'e', 'f' };    
          try {    
               byte[] strTemp = s.getBytes();  
               MessageDigest mdTemp = MessageDigest.getInstance("MD5");    
               mdTemp.update(strTemp);    
               byte[] md = mdTemp.digest();    
               int j = md.length;    
               char str[] = new char[j * 2];    
               int k = 0;    
               for (int i = 0; i < j; i++) {    
                    byte byte0 = md[i];  
                    str[k++] = hexDigits[byte0 >>> 4 & 0xf];    
                    str[k++] = hexDigits[byte0 & 0xf];    
               }  
               return new String(str);    
              } catch (Exception e) {    
               return null;    
              }    
         }  
    
    //测试  
    public static void main(String[] args) {  
        String testStr = "1";  
        String resultStr = MD5(testStr);  
        System.out.println(resultStr);  
    }      
}
第2中方法:
public static String md5(String str) {  
        String digest = null;  
        StringBuffer buffer = new StringBuffer();  
        try {  
            MessageDigest digester = MessageDigest.getInstance("md5");  
            byte[] digestArray = digester.digest(str.getBytes());  
            for (int i = 0; i < digestArray.length; i++) {  
                buffer.append(String.format("%02x", digestArray[i]));  
            }  
            digest = buffer.toString();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return digest;  
    } 

iOS端代码如下:
+(NSString *)stringToMD5:(NSString *)inputStr{  
    const charchar *cStr = [inputStr UTF8String];  
    unsigned char result[CC_MD5_DIGEST_LENGTH];  
    CC_MD5(cStr, strlen(cStr), result);  
    NSString *resultStr = [NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",  
                           result[0], result[1], result[2], result[3],  
                           result[4], result[5], result[6], result[7],  
                           result[8], result[9], result[10], result[11],  
                           result[12], result[13], result[14], result[15]  
                           ];  
    return [resultStr lowercaseString];  
}

这样就可以达到Java与iOS加密后的结果一致!!!

相关文章

  • JavaMD5与OCMD5匹配一致

    Java端代码如下: 第一种方法: 第2中方法: iOS端代码如下: 这样就可以达到Java与iOS加密后的结果一...

  • 关于关键词

    1.精确匹配 精确匹配,意思就是目标人群搜索词语与关键词完全一致,才能展现。 使用精确匹配时,若搜索词中包含其他词...

  • nginx里面location的匹配规则和顺序

    nginx里面location的匹配规则和顺序 语法 :普通前缀匹配 = :精准匹配,uri必须完全一致 ~...

  • 同读《萨提亚家庭治疗模式》6

    表里一致性: 言语现实:语言与身体姿势、语调以及内心感受相匹配,言语体现出对感受的觉察。 情感:与言语一致,表达流...

  • Jmeter断言

    响应断言 apply to:适用范围与提取器一致,从左至右分别为:匹配当前父取样器及其子取样器、匹配当前父取样器(...

  • 养成这八个习惯 摆脱焦虑 搞定生活

    当下人们最多的情绪状态是焦虑,理想与现实的差距,工作与生活的不平衡,收入与支出的不匹配,自我认知与他人评价的不一致...

  • 文化就是生产力,但是文化需要落地的机制

    文化就是生产力,但是文化需要落地的机制,我们要选拔与文化相匹配的人才,要引导与文化相一致的行为,要营造与文化相适合...

  • 搜索功能中的尼尔森 10 项可用性原则

    尼尔森 10 项可用性原则系统状态可见性系统与用户现实世界匹配用户控制与自由一致性与标准化错误预防再认而非回忆灵活...

  • C++之函数重载(下)

    重载与指针 函数重载遇上函数指针将重载函数名赋值给函数指针时根据重载规则挑选与函数指针参数列表一致的侯选者严格匹配...

  • Calibre LVS Ambiguity Resolution

    最近做LVS碰到一件苦恼的事,总是报一些属性错误,版图和网表明明一致,但是会匹配错误,出现A匹配B,B匹配A的...

网友评论

      本文标题:JavaMD5与OCMD5匹配一致

      本文链接:https://www.haomeiwen.com/subject/xcombxtx.html