MD5ハッシュ値、Java, iOS , php

ファイルの MD5 ハッシュを求める方法、、

Javaの場合、、、

import java.io.InputStream;
import java.security.MessageDigest;


public static String md5(InputStream in) throws Exception {
   MessageDigest digest = MessageDigest.getInstance("MD5");
   try{
      byte[] buff = new byte[1024];
      int len = 0;
      while*1 >= 0){
         digest.update(buff,0,len);
      }
   }catch(IOException e){
      throw e;
   }finally{
      if (in != null){
         try{ in.close(); }catch(IOException e){}
      }
   }
   StringBuilder sb = new StringBuilder();
   for(byte b : digest.digest()){
      sb.append(String.format("%02x",b));
   }
   return sb.toString();
}

iOS の場合、

http://mobiledevelopertips.com/core-services/create-md5-hash-from-nsstring-nsdata-or-file.html

で紹介されてる

iPhone MD5 Xcode Project

をダウンロードして使うのが手っ取り早い。

  NSData *nsData = [ NSData dataWithContentsOfFile:@"filepath" ];
  NSstring *md5value = [ nsData MD5];


のように使える


php なら、、、

$md5value = md5_file("/Users/uranus/ishot-1.png",FALSE);

*1:len=in.read(buff,0,buff.length