Php hash_file, эквивалентный javascriptPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Php hash_file, эквивалентный javascript

Сообщение Anonymous »

Кто-нибудь сталкивался с проблемой, когда значение, сгенерированное с помощью функции hash_file в PHP с sha256, не соответствует значению из CryptoJS.createHash("sha256", ...) ?
Это мой PHP-код:

Код: Выделить всё

hash_file("sha256", $filePath)
Это мой код JavaScript:

Код: Выделить всё

const hash = crypto.SHA256(crypto.lib.WordArray.create(buffer));
const hexHash = hash.toString(crypto.enc.Hex);
Как это можно сделать, чтобы оба значения были одинаковыми?
Отредактировано:
Это изображение, которое я использую для тестирования
При отправке изображения на сервер:
В php: изображение сохраняется в определенной папке после запуска функции изменения размера:

Код: Выделить всё

public static function resize($fromPath,$height,$toPath=null,$quality=100)  {
$done = false;
if($toPath==null)$toPath = $fromPath;
$img = new Imagick($fromPath);
self::autorotate($img);
$img->setImageCompression(Imagick::COMPRESSION_JPEG);
$img->setImageCompressionQuality($quality);
if($img->scaleImage(0,$height)){
$img->stripImage();
$done = $img->writeImage($toPath);
}
self::_clean($img);
return $done;
}
так что hash_file("sha256", $filePath) создает хэш-значение, используя путь к файлу, размер которого изменился
и в javascript я использую Sharp, чтобы изменить размер на тот же размер и все такое:

Код: Выделить всё

const input = typeof file !== 'string' && file.buffer ? file.buffer : file;
const { width, height } = await sharp(input).metadata();
const buffer = await sharp(input)
.toFormat('jpeg')
.jpeg({
quality: 75,
chromaSubsampling: "4:2:0",
})
.resize(Math.round((maxHeight * width) / height), maxHeight)
.toBuffer();
поэтому в javascript я создаю хеш-значение, используя буфер из изображения, размер которого изменяю
влияют ли различия в атрибутах файла на хэш-значение?< /п>

Подробнее здесь: https://stackoverflow.com/questions/790 ... javascript
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»