# Database structure of hashlookup ## hash storage - `l:` key/value -> {sha1, sha1} - `h:` hash -> keys from NSRL or other data sources - `p:` set -> {sha1, sha1} for the parents of a hash (such as original packages) - `c:` set -> {sha1, sha1} for the children of a hash (such as files contained in a package) ### Standard keys - `MD5` - `SHA-1` - `SHA-256` - `TLSH` - `SSDEEP` - `FileName` - `FileSize` - `PackageArch` - `PackageDescription` - `PackageMaintainer` - `PackageName` - `PackageRelease` - `PackageVersion` - `KnownMalicious` ## Publish-Subscribe channels - `nx` JSON message of non-existing hashes searched - `exist` JSON message of existing hashes searched ## Statistics - `s:nx:md5` sorted set of MD5 non-existing hashes - `s:nx:sha1` sorted set of SHA1 non-existing hashes - `s:exist:md5` sorted set of SHA1 existing hashes - `s:exist:sha1` sorted set of SHA1 existing hashes - `stat:` string with the number of items imported