dbhash(或 Windows 上的 dbhash.exe)实用程序是一个命令行程序,用于计算 SQLite 数据库的架构和内容的 SHA1 哈希值。
Dbhash 忽略无关的格式细节,只对数据库架构和内容进行哈希。因此,即使数据库文件被以下操作修改,哈希值也是不变的:
以上操作可能会导致原始数据库文件发生巨大变化,从而导致文件级 SHA1 哈希值截然不同。但由于数据库文件中表示的内容没有发生变化,dbhash 计算出的哈希值也不会改变。
Dbhash 可用于比较两个数据库以确认它们是否等效,即使它们在磁盘上的表示方式截然不同。Dbhash 也可用于验证远程数据库的内容,而无需通过慢速链接传输远程数据库的全部内容。
Dbhash 是一个命令行实用程序。要运行它,请在命令行提示符中键入 "dbhash",后面跟着要进行哈希处理的一个或多个 SQLite 数据库文件。数据库哈希值将显示在标准输出上。例如
drh@bella:~/sqlite/bld$ dbhash ~/Fossils/sqlite.fossil 8d3da9ff87196312aaa33076627ccb7943ef79e3 /home/drh/Fossils/sqlite.fossil
Dbhash 支持命令行选项,这些选项可以限制对数据库文件进行哈希处理的表,或限制哈希处理仅针对内容或仅针对架构。运行 "dbhash --help" 以获取更多信息。
要在 unix 上构建 dbhash 实用程序的副本,请获取规范的 SQLite 源代码的副本并输入
./configure make dbhash
在 Windows 上,输入
nmake /f makefile.msc dbhash.exe
Dbhash 程序由一个名为 dbhash.c 的 C 代码文件实现。要手动构建 dbhash 程序,只需编译 dbhash.c 源文件并将其链接到 SQLite 库。
此页面最后修改于 2022-01-08 05:02:57 UTC