dbhash.exe 实用程序

、概述

dbhash(或Windows 上dbhash.exe)实用程序是一个命令行程序,用于计算 SQLite 数据库的架构和内容的 SHA1 哈希值。

Dbhash 忽略无关的格式化细节,只散列数据库模式和内容。因此,即使数据库文件被修改了,哈希值也是不变的:

上述操作可能会导致原始数据库文件发生巨大变化,从而导致文件级别的 SHA1 哈希值大不相同。但是由于这些操作没有改变数据库文件中表示的内容,所以 dbhash 计算的散列也没有改变。

Dbhash 可用于比较两个数据库以确认它们是等效的,即使它们在磁盘上的表示完全不同。Dbhash 还可用于验证远程数据库的内容,而无需通过慢速链接传输远程数据库的全部内容。

2.用法

Dbhash 是一个命令行实用程序。要运行它,请在命令行提示符下键入“dbhash”,然后键入一个或多个要进行哈希处理的 SQLite 数据库文件的名称。数据库哈希将显示在标准输出中。例如:

drh@bella:~/sqlite/bld$ dbhash ~/Fossils/sqlite.fossil
8d3da9ff87196312aaa33076627ccb7943ef79e3 /home/drh/Fossils/sqlite.fossil

Dbhash 支持命令行选项,这些选项可以限制散列的数据库文件的表,或将散列限制为仅内容或仅模式。运行“dbhash --help”以获取更多信息。

3. Building

要在 unix 上构建 dbhash 实用程序的副本,请获取规范 SQLite 源代码的副本并输入:

./configure
make dbhash

在 Windows 上,输入:

nmake /f makefile.msc dbhash.exe

dbhash 程序由一个名为dbhash.c的 C 代码文件实现。要手动构建 dbhash 程序,只需编译 dbhash.c 源文件并将其链接到 SQLite 库。