【问题标题】:sha256 hash PHP and store on MySQLsha256 哈希 PHP 并存储在 MySQL 上
【发布时间】:2011-10-14 09:11:15
【问题描述】:

现在我有一个网站,允许用户上传一个文件,该文件存储在我服务器上的本地目录中。文件上传后,我执行了一系列非常昂贵的操作来为用户生成一个 HTML 文件(使用两个 java 程序)。因为这些操作非常昂贵,所以我现在希望能够使用 SHA256 来保存每个已上传文件的数据库。这样,如果有人上传了一个文件并且该文件已经被处理,我不必再次处理它,我可以只显示现有的 HTML。

为了确定与文件关联的 HTML 是最新的,我还想拥有我在与散列值关联的文件上运行的两个 java 程序的版本。

所以逻辑是这样的:
1. 用户提交文件。
2.如果文件还没有在服务器上,一切照旧。
3.如果是,请检查它用于生成html的两个java程序的版本
4.如果当前版本较新,重新生成html。

我对 SHA 或 MySQL 了解不多,因此我们将不胜感激。真正的问题归结为:如何将一堆散列值及其两个版本标识符存储在 MySQL 数据库中并稍后检索该信息。

如果问题不清楚,请告诉我,以便我消除困惑。

谢谢!

【问题讨论】:

  • 您对关系数据库和SQL有基本的了解吗?如果没有,你应该先熟悉 MySQL。
  • 不,我不知道。我希望有一些简单的 php 函数可以调用来存储和检索信息。我要到下学期才开始我的数据库课程,但我现在想弄清楚这一点,哈哈。
  • 没有简单的函数可以在数据库中存储和检索数据。要使用 MySQL,您确实需要了解有关数据库表和 SQL 的基础知识!
  • 我希望这会更容易。谢谢你的信息
  • 这些函数构成了使 PHP 脚本与 MySQL 对话所需的基础。同样,只要您不知道数据库表由什么组成并且至少没有 SQL 的基本知识,mysql_ 函数不会有太大帮助。就像 PHP:你可以用它做很多事情,但你需要一些基本的语言和网络服务器/HTML 知识。

标签: php mysql hash sha256


【解决方案1】:

hash_file() 可以创建文件的 sha256 哈希。

对于数据库,我会想象一个如下表

表名:File_Hash,列 'id' {PK, AI, int}, 'hash' {text}, 'engine' {int}, 'filepath' {varchar}

使用此布局,您可以在“文件路径”中存储对文件的引用,在“哈希”中存储 sha256 文件哈希,并识别“引擎”中使用的 java 程序(1 用于第一个 java 程序,2 用于另一个) .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-11
    • 2011-06-08
    • 2014-01-29
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 2014-01-14
    相关资源
    最近更新 更多