sha256 хеширует PHP и сохраняет на MySQL - PullRequest
0 голосов
/ 27 июля 2011

Сейчас у меня есть веб-сайт, который позволяет пользователям загружать файл, который хранится в локальном каталоге на моем сервере. После того, как файл был загружен, я подготовил кучу довольно дорогих операций, чтобы сгенерировать HTML-файл для пользователя (используя две Java-программы). Поскольку эти операции настолько дороги, я теперь хочу иметь возможность использовать SHA256 для хранения базы данных каждого загруженного файла. Таким образом, если кто-то загружает файл, и этот файл уже обработан, мне не нужно обрабатывать его снова, я могу просто отобразить существующий HTML.

Чтобы точно знать, что HTML-код, связанный с файлом, обновлен, я также хотел бы иметь версию двух Java-программ, которые я запускаю, для файла, связанного с хэшированным значением.

Итак, логика выглядит так:
1. Пользователь отправляет файл.
2. Если файл еще не на сервере, работайте как обычно.
3. Если это так, проверьте, какие версии двух программ Java, которые он использовал для создания HTML
4. Если текущая версия новее, восстановите HTML.

Я не знаю много о SHA или MySQL, поэтому любая помощь будет высоко ценится. На самом деле вопросы сводятся к следующему: как я могу сохранить кучу хэшированных значений и два идентификатора их версий в базе данных MySQL и получить эту информацию позже.

Если вопрос неясен, дайте мне знать, чтобы я мог устранить путаницу.

Спасибо!

1 Ответ

0 голосов
/ 27 июля 2011

hash_file () может создать хеш файла sha256.

Для БД я бы представил таблицу следующим образом

Имя таблицы: File_Hash со столбцами 'id' {PK, AI, int}, 'hash' {text}, 'engine' {int}, 'filepath' {varchar}

С помощью этого макета вы можете сохранить ссылку на файл в «filepath», хэш файла sha256 в «hash» и идентифицировать Java-программу, используемую в «engine» (1 для первой java-программы, 2 для другой) .

...