sha256 хеширует PHP и хранит в MySQL

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

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

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

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

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

Спасибо!


person Corey    schedule 27.07.2011    source источник
comment
Есть ли у вас базовые знания о реляционных базах данных и SQL? Если нет, вам следует сначала ознакомиться с MySQL.   -  person Ferdinand Beyer    schedule 27.07.2011
comment
Нет, не знаю. Я надеялся, что есть какая-то простая функция php, которую я мог бы вызывать для хранения и извлечения информации. Я не прохожу курс по базам данных до следующего семестра, но я хочу понять это сейчас, ха-ха.   -  person Corey    schedule 27.07.2011
comment
Не существует простой функции для хранения и извлечения данных из базы данных. Вам действительно нужно знать основы таблиц базы данных и SQL, чтобы использовать MySQL!   -  person Ferdinand Beyer    schedule 27.07.2011
comment
Я надеялся, что это будет легче, чем то. Хотя спасибо за информацию   -  person Corey    schedule 27.07.2011
comment
Так что насчет всех этих функций? Кажется, это то, что я искал php.net/manual/en/book.mysql .php   -  person Corey    schedule 27.07.2011
comment
Эти функции составляют основу, необходимую для того, чтобы ваш PHP-скрипт взаимодействовал с MySQL. Опять же, пока вы не знаете, из чего состоит таблица базы данных, и не имеете хотя бы базовых знаний SQL, функции mysql_ не помогут. Это похоже на PHP: вы можете делать с ним много вещей, но вам нужны базовые знания языка и веб-серверов/HTML.   -  person Ferdinand Beyer    schedule 27.07.2011
comment
Да, это все функции, но все же вам необходимо знать основы работы с базами данных.   -  person geekuality    schedule 27.07.2011


Ответы (1)


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

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

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

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

person Mr Griever    schedule 27.07.2011