2016-07-05 7 views
-4

PythonのC#で次のコードはどうですか?PythonのC#で次のコードはどうですか?

サブタイトルを取得するには、このコードで生成されたハッシュをhttp://en.thesubdb.com/api/に送信する必要がありますが、私のコードはC#です。

def get_hash(name): 
    readsize = 64 * 1024 
    with open(name, 'rb') as f: 
     size = os.path.getsize(name) 
     data = f.read(readsize) 
     f.seek(-readsize, os.SEEK_END) 
     data += f.read(readsize) 
    return hashlib.md5(data).hexdigest() 
  • 私の悪い英語のため申し訳ありません。私が得たバイトによって
+0

PythonコードをC#に翻訳したくないのであれば、あなたのプロジェクトにironpythonを追加して、そのPythonコードを呼び出すことができます。 –

+0

ようこそ!スタックオーバーフローは、コード翻訳サービスではなく、質問と回答サイトです。最初にコードを翻訳してから、私たちがあなたが[何を試したか](http://whathaveyoutried.com)、好ましくは[Minimal、Complete、検証可能な例](// stackoverflow.com/help/mcve)を参照してください。 –

+0

私はここに入れることを決めるまで何時間も努力しています。 –

答えて

0
public static string GetHash(string caminho) { 
     const int bytesToRead = 64 * 1024; 
     byte[] buffer = new byte[bytesToRead * 2]; 
     MD5 md5 = new MD5CryptoServiceProvider(); 
     using(var md52 = MD5.Create()) { 
      using(var stream = new FileStream(caminho, FileMode.Open, FileAccess.Read)) { 
       for(int i = 0; i < bytesToRead; i++) { 
        buffer[i] = (byte)stream.ReadByte(); 
       } 

       stream.Seek(-bytesToRead, SeekOrigin.End); 

       for(int i = bytesToRead; i < bytesToRead * 2; i++) { 
        buffer[i] = (byte)stream.ReadByte(); 
       } 
       return BitConverter.ToString(md52.ComputeHash(buffer)).Replace("-", "").ToLower(); 
      } 
     }   
    } 

読書バイト。それが必要な人のためにコードです。

関連する問題