Различные MD5-хэши для одного и того же файла в реагируют на crypto-js / md5 и C # - PullRequest
0 голосов
/ 05 октября 2018

Мне нужно вычислить MD5-хеш файла на стороне клиента (реагировать) и отправить его на серверную сторону (Web API / C #), чтобы проверить, существует ли он уже.Почему-то я получаю разные хеши между двумя сторонами.Я думал, что это может быть какая-то проблема кодирования, но я больше не уверен.

Вот компонент реакции:

import React, { Component } from 'react';
import { Button } from 'react-bootstrap';
import md5 from 'crypto-js/md5';

export default class TestFileUploadMd5 extends Component {
constructor(props) {
    super(props);
    this.state = {
        selectedFile: null
    }
}

onFileChanged(e) {
    var file = e.target.files[0];
    this.setState({ selectedFile: file });
}

calculateMd5() {    
    var md5Hash = md5(this.state.selectedFile);
    var md5HashString = md5Hash.toString();        
}

render() {
    var self = this;
    return (
        <div>
            <input type="file" onChange={(e) => this.onFileChanged(e)} />
            <Button onClick={(e) => this.calculateMd5()}>Calculate</Button>
        </div>
    )
}

}

На стороне сервера, которую я используюстандартный способ передачи файла и хеша calcualte:

var provider = new MultipartMemoryStreamProvider();
await Request.Content.ReadAsMultipartAsync(provider);
var file = provider.Contents[0];
var blob = await file.ReadAsByteArrayAsync()

var md5 = System.Security.Cryptography.MD5.Create();
byte[] hash = md5.ComputeHash(blob);

var sb = new StringBuilder();
for (int i = 0; i < hash.Length; i++)
   sb.Append(hash[i].ToString("X2"));

Кто-нибудь знает, почему два хэша различаются?

ОБНОВЛЕНИЕ

Версия клиента реагирует: 487f7b22f68312d2c1bbc93b1aea445b

Версия сервера c # выдает: 8828414F794468DF83D346BF0FE7CFE

1024 * * MES на HB5 (я также подтвердил использование языка CES на C5 (версия SQL на C # (версия C #)', blob))

Перед вызовом md5Hash.toString (), вот значение элементов массива в md5Hash.words:

  • [0] 1216314146
  • [1] -159182126
  • [2] -1044657861
  • [3] 451560539
...