@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ks: <https://comcomponent.com/vocab/> .

<https://comcomponent.com/blog/2026/04/08/000-hash-format-identification/#article>
    schema:about <https://comcomponent.com/knowledge/password-hash-string/>, <https://comcomponent.com/knowledge/length-based-misidentification/> ;
    schema:mentions <https://comcomponent.com/knowledge/modular-crypt-format/>, <https://comcomponent.com/knowledge/phc-string-format/>, <https://comcomponent.com/knowledge/crypt-3-function/>, <https://comcomponent.com/knowledge/md5/>, <https://comcomponent.com/knowledge/md4/>, <https://comcomponent.com/knowledge/sha-1/>, <https://comcomponent.com/knowledge/sha-256/>, <https://comcomponent.com/knowledge/sha-512/>, <https://comcomponent.com/knowledge/bcrypt/>, <https://comcomponent.com/knowledge/argon2/>, <https://comcomponent.com/knowledge/scrypt/>, <https://comcomponent.com/knowledge/pbkdf2/>, <https://comcomponent.com/knowledge/md5crypt/>, <https://comcomponent.com/knowledge/sha256crypt/>, <https://comcomponent.com/knowledge/sha512crypt/>, <https://comcomponent.com/knowledge/hex-encoding/>, <https://comcomponent.com/knowledge/base64-encoding/>, <https://comcomponent.com/knowledge/hashcat/>, <https://comcomponent.com/knowledge/openssl-passwd/>, <https://comcomponent.com/knowledge/ldap-scheme-prefix/>, <https://comcomponent.com/knowledge/nt-hash/>, <https://comcomponent.com/knowledge/ntlm/> .

<https://comcomponent.com/knowledge/password-hash-string/> a skos:Concept ;
    skos:prefLabel "パスワードハッシュ文字列"@ja ;
    skos:definition "パスワードを保存する目的で、salt・rounds・メモリコストなどのパラメータをハッシュ値本体と一緒に1つの文字列へ埋め込んで表現する保存形式の総称。"@ja ;
    skos:altLabel "password hash" ;
    skos:altLabel "パスワードハッシュ形式"@ja .

<https://comcomponent.com/knowledge/length-based-misidentification/> a skos:Concept ;
    skos:prefLabel "長さだけによる誤判定"@ja ;
    skos:definition "文字列の長さだけを根拠にハッシュアルゴリズムを断定してしまう誤りで、同じ出力長を持つ複数の候補アルゴリズムが存在するために生じる。"@ja ;
    skos:altLabel "64 hex = SHA-256の決め打ち"@ja ;
    skos:altLabel "長さだけでの断定"@ja .

<https://comcomponent.com/knowledge/crypt-3-function/> a skos:Concept ;
    skos:prefLabel "crypt(3)"@ja ;
    skos:definition "Unixのパスワードハッシュ関数そのものを指す、Cライブラリの関数名。"@ja ;
    skos:altLabel "crypt関数"@ja ;
    skos:altLabel "crypt(3)関数"@ja ;
    ks:uses <https://comcomponent.com/knowledge/modular-crypt-format/> .

<https://comcomponent.com/knowledge/modular-crypt-format/> a skos:Concept ;
    skos:prefLabel "MCF(Modular Crypt Format)"@ja ;
    skos:definition "先頭に$id$を置いて方式を示す書き方の通称で、単一の仕様書ではなくcrypt(3)系実装が増える中で慣習として固まった書式。"@ja ;
    skos:altLabel "Modular Crypt Format" ;
    skos:altLabel "$id$形式"@ja ;
    skos:broader <https://comcomponent.com/knowledge/password-hash-string/> ;
    ks:prevents <https://comcomponent.com/knowledge/length-based-misidentification/> .

<https://comcomponent.com/knowledge/phc-string-format/> a skos:Concept ;
    skos:prefLabel "PHC string format"@ja ;
    skos:definition "MCFを整理し直し、バージョンやパラメータの書き方まで明文化した仕様。"@ja ;
    skos:altLabel "Password Hashing Competition string format" ;
    skos:broader <https://comcomponent.com/knowledge/modular-crypt-format/> ;
    ks:succeeds <https://comcomponent.com/knowledge/modular-crypt-format/> .

<https://comcomponent.com/knowledge/argon2/> a skos:Concept ;
    skos:prefLabel "Argon2"@ja ;
    skos:definition "Password Hashing Competitionの優勝アルゴリズムで、Argon2id/Argon2i/Argon2dの3種の変種を持つパスワードハッシュ方式。"@ja ;
    skos:altLabel "Argon2id" ;
    skos:altLabel "Argon2i" ;
    skos:altLabel "Argon2d" ;
    skos:broader <https://comcomponent.com/knowledge/phc-string-format/> ;
    ks:uses <https://comcomponent.com/knowledge/phc-string-format/> .

<https://comcomponent.com/knowledge/bcrypt/> a skos:Concept ;
    skos:prefLabel "bcrypt"@ja ;
    skos:definition "Blowfish暗号を基にしたパスワードハッシュアルゴリズムで、$2a$/$2b$/$2y$という接頭辞と2桁のコストパラメータを持つ文字列で表現される。"@ja ;
    skos:altLabel "$2a$" ;
    skos:altLabel "$2b$" ;
    skos:altLabel "$2y$" ;
    skos:broader <https://comcomponent.com/knowledge/modular-crypt-format/> ;
    ks:uses <https://comcomponent.com/knowledge/modular-crypt-format/> ;
    ks:configuredBy <https://comcomponent.com/knowledge/hashcat/> .

<https://comcomponent.com/knowledge/sha256crypt/> a skos:Concept ;
    skos:prefLabel "sha256crypt"@ja ;
    skos:definition "crypt(3)系の$5$という接頭辞を持つ、SHA-256を反復適用するUnix系パスワードハッシュ形式。"@ja ;
    skos:altLabel "$5$形式"@ja ;
    skos:broader <https://comcomponent.com/knowledge/modular-crypt-format/> ;
    ks:uses <https://comcomponent.com/knowledge/crypt-3-function/> ;
    ks:uses <https://comcomponent.com/knowledge/sha-256/> ;
    ks:verifiedBy <https://comcomponent.com/knowledge/openssl-passwd/> .

<https://comcomponent.com/knowledge/sha512crypt/> a skos:Concept ;
    skos:prefLabel "sha512crypt"@ja ;
    skos:definition "crypt(3)系の$6$という接頭辞を持つ、SHA-512を反復適用するUnix系パスワードハッシュ形式。"@ja ;
    skos:altLabel "$6$形式"@ja ;
    skos:broader <https://comcomponent.com/knowledge/modular-crypt-format/> ;
    ks:uses <https://comcomponent.com/knowledge/crypt-3-function/> ;
    ks:uses <https://comcomponent.com/knowledge/sha-512/> ;
    ks:verifiedBy <https://comcomponent.com/knowledge/openssl-passwd/> ;
    ks:configuredBy <https://comcomponent.com/knowledge/hashcat/> .

<https://comcomponent.com/knowledge/md5crypt/> a skos:Concept ;
    skos:prefLabel "md5crypt"@ja ;
    skos:definition "crypt(3)系の$1$という接頭辞を持つ、MD5を反復適用するUnix系パスワードハッシュ形式。"@ja ;
    skos:altLabel "$1$形式"@ja ;
    skos:broader <https://comcomponent.com/knowledge/modular-crypt-format/> ;
    ks:uses <https://comcomponent.com/knowledge/crypt-3-function/> ;
    ks:uses <https://comcomponent.com/knowledge/md5/> ;
    ks:verifiedBy <https://comcomponent.com/knowledge/openssl-passwd/> .

<https://comcomponent.com/knowledge/sha-256/> a skos:Concept ;
    skos:prefLabel "SHA-256"@ja ;
    skos:definition "SHA-2ファミリーのうち256ビット(32バイト)の出力を生成するハッシュアルゴリズムで、NIST FIPS 180-4で規定される。"@ja ;
    skos:altLabel "SHA-256メッセージダイジェスト"@ja ;
    ks:configuredBy <https://comcomponent.com/knowledge/hashcat/> .

<https://comcomponent.com/knowledge/sha-512/> a skos:Concept ;
    skos:prefLabel "SHA-512"@ja ;
    skos:definition "SHA-2ファミリーのうち512ビット(64バイト)の出力を生成するハッシュアルゴリズムで、NIST FIPS 180-4で規定される。"@ja ;
    skos:altLabel "SHA-512メッセージダイジェスト"@ja .

<https://comcomponent.com/knowledge/md5/> a skos:Concept ;
    skos:prefLabel "MD5"@ja ;
    skos:definition "128ビット(16バイト)のハッシュ値を生成するメッセージダイジェストアルゴリズムで、RFC 1321で規定される。"@ja ;
    skos:altLabel "MD5メッセージダイジェスト"@ja ;
    ks:configuredBy <https://comcomponent.com/knowledge/hashcat/> .

<https://comcomponent.com/knowledge/hex-encoding/> a skos:Concept ;
    skos:prefLabel "16進表現(hex encoding)"@ja ;
    skos:definition "バイト列を0-9a-fの16進文字で表現するエンコーディングで、文字数は元のバイト長の2倍になる。"@ja ;
    skos:altLabel "hex" ;
    skos:altLabel "16進数表現"@ja .

<https://comcomponent.com/knowledge/nt-hash/> a skos:Concept ;
    skos:prefLabel "NTハッシュ"@ja ;
    skos:definition "MD4(UNICODE(パスワード))として計算される、パスワードの一方向ハッシュ。NTLM認証の資格情報の出発点で、NTLMv2の応答鍵もここから導出される。"@ja ;
    skos:altLabel "NTOWF" ;
    skos:altLabel "MD4ハッシュ"@ja ;
    ks:uses <https://comcomponent.com/knowledge/md4/> ;
    ks:configuredBy <https://comcomponent.com/knowledge/hashcat/> .

<https://comcomponent.com/knowledge/md4/> a skos:Concept ;
    skos:prefLabel "MD4"@ja ;
    skos:definition "128ビットのハッシュ値を生成する、MD5の前身にあたるメッセージダイジェストアルゴリズム。NTハッシュの計算に使われる。"@ja ;
    skos:altLabel "MD4メッセージダイジェスト"@ja .

<https://comcomponent.com/knowledge/ntlm/> a skos:Concept ;
    skos:prefLabel "NTLM"@ja ;
    skos:definition "パスワードの一方向ハッシュを使ったチャレンジ/レスポンス方式の認証プロトコル群(LANMAN・NTLMv1・NTLMv2を含む)。相互認証を持たず、サーバーが本物であると仮定できる環境向けに設計されている。"@ja ;
    skos:altLabel "NTLM認証"@ja ;
    skos:altLabel "Windows Challenge/Response" ;
    skos:altLabel "NTLM Security Support Provider" ;
    ks:uses <https://comcomponent.com/knowledge/nt-hash/> .

<https://comcomponent.com/knowledge/openssl-passwd/> a skos:Concept ;
    skos:prefLabel "openssl passwd"@ja ;
    skos:definition "指定したsaltと平文からcrypt系パスワードハッシュ文字列を再計算できるOpenSSLのコマンド。"@ja ;
    skos:altLabel "openssl-passwd" .

<https://comcomponent.com/knowledge/hashcat/> a skos:Concept ;
    skos:prefLabel "hashcat"@ja ;
    skos:definition "GPUを使ってパスワードハッシュを解析するツールで、対象の方式をモード番号(-m)で指定する。"@ja ;
    skos:altLabel "hashcat" .

<https://comcomponent.com/knowledge/pbkdf2/> a skos:Concept ;
    skos:prefLabel "PBKDF2"@ja ;
    skos:definition "HMACを繰り返し適用して共有秘密から鍵を導出するアルゴリズムで、RFC 8018(PKCS #5)で規定される。"@ja ;
    skos:altLabel "PBKDF2-HMAC-SHA256" ;
    skos:altLabel "Password-Based Key Derivation Function 2" ;
    skos:broader <https://comcomponent.com/knowledge/password-hash-string/> ;
    ks:configuredBy <https://comcomponent.com/knowledge/hashcat/> .

<https://comcomponent.com/knowledge/scrypt/> a skos:Concept ;
    skos:prefLabel "scrypt"@ja ;
    skos:definition "メモリを大量に必要とする設計のパスワードハッシュ/鍵導出関数で、RFC 7914で規定される。"@ja ;
    skos:altLabel "scrypt KDF" ;
    skos:broader <https://comcomponent.com/knowledge/password-hash-string/> ;
    ks:configuredBy <https://comcomponent.com/knowledge/hashcat/> .

<https://comcomponent.com/knowledge/ldap-scheme-prefix/> a skos:Concept ;
    skos:prefLabel "LDAPスキームプレフィックス({SHA}等)"@ja ;
    skos:definition "{SHA}/{SSHA}/{MD5}/{SMD5}のように、方式名を波括弧で前置してハッシュ値を表現するLDAP/Apache系の表記法。"@ja ;
    skos:altLabel "RFC 2307 scheme" ;
    skos:altLabel "{SHA}" ;
    skos:altLabel "{SSHA}" ;
    ks:prevents <https://comcomponent.com/knowledge/length-based-misidentification/> .

<https://comcomponent.com/knowledge/base64-encoding/> a skos:Concept ;
    skos:prefLabel "Base64(RFC 4648)"@ja ;
    skos:definition "バイト列を64文字の集合で表現するRFC 4648のエンコーディング方式。"@ja ;
    skos:altLabel "Base64url" ;
    skos:altLabel "RFC 4648 Base64" .

<https://comcomponent.com/knowledge/sha-1/> a skos:Concept ;
    skos:prefLabel "SHA-1"@ja ;
    skos:definition "160ビットの出力を生成するハッシュアルゴリズム。"@ja ;
    skos:altLabel "SHA-1メッセージダイジェスト"@ja .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/crypt-3-function/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/modular-crypt-format/> ;
    schema:description "crypt(3)系実装の出力は、saltやroundsなどのパラメータをMCF系の$id$のようなprefix付き書式に埋め込んで表現する"@ja ;
    ks:evidence <https://man.archlinux.org/man/crypt.5.en> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/phc-string-format/> ;
    rdf:predicate ks:succeeds ;
    rdf:object <https://comcomponent.com/knowledge/modular-crypt-format/> ;
    schema:description "PHC string formatはMCFの書き方を整理し直し、バージョンとパラメータの記法まで定めた仕様である"@ja ;
    ks:evidence <https://github.com/P-H-C/phc-string-format> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/argon2/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/phc-string-format/> ;
    schema:description "Argon2はPHC string formatに従い$argon2id$v=19$m=...のような文字列でパラメータを表現する"@ja ;
    ks:evidence <https://github.com/P-H-C/phc-winner-argon2> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/bcrypt/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/modular-crypt-format/> ;
    schema:description "bcryptは$2a$/$2b$/$2yという接頭辞でコストパラメータを示す、MCF系の書式を使う"@ja ;
    ks:evidence <https://man.archlinux.org/man/crypt.5.en> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/sha256crypt/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/crypt-3-function/> ;
    schema:description "sha256cryptはUnixのcrypt(3)関数が出力する書式の一つとして計算される"@ja ;
    ks:evidence <https://man.archlinux.org/man/crypt.5.en> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/sha512crypt/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/crypt-3-function/> ;
    schema:description "sha512cryptはUnixのcrypt(3)関数が出力する書式の一つとして計算される"@ja ;
    ks:evidence <https://man.archlinux.org/man/crypt.5.en> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/md5crypt/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/crypt-3-function/> ;
    schema:description "md5cryptはUnixのcrypt(3)関数が出力する書式の一つとして計算される"@ja ;
    ks:evidence <https://man.archlinux.org/man/crypt.5.en> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/sha256crypt/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/sha-256/> ;
    schema:description "sha256cryptはSHA-256を複数ラウンド反復適用してハッシュを計算する"@ja ;
    ks:evidence <https://man.archlinux.org/man/crypt.5.en> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/sha512crypt/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/sha-512/> ;
    schema:description "sha512cryptはSHA-512を複数ラウンド反復適用してハッシュを計算する"@ja ;
    ks:evidence <https://man.archlinux.org/man/crypt.5.en> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/md5crypt/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/md5/> ;
    schema:description "md5cryptはMD5を複数ラウンド反復適用してハッシュを計算する"@ja ;
    ks:evidence <https://man.archlinux.org/man/crypt.5.en> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/hex-encoding/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/length-based-misidentification/> ;
    schema:description "16進文字列は文字種と長さしか手がかりがなく、同じ長さの複数アルゴリズムが候補になるため長さだけで断定する誤りを招きやすい"@ja ;
    ks:evidence <https://www.rfc-editor.org/rfc/rfc7693.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/modular-crypt-format/> ;
    rdf:predicate ks:prevents ;
    rdf:object <https://comcomponent.com/knowledge/length-based-misidentification/> ;
    schema:description "先頭に$id$を置くMCF系の書式は文字列だけで方式を特定できるため、長さだけに頼る誤判定を避けられる"@ja ;
    ks:evidence <https://man.archlinux.org/man/crypt.5.en> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/nt-hash/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/md4/> ;
    schema:description "NTハッシュはUTF-16LEでエンコードしたパスワードにMD4を適用して計算される(NTOWFv1(Passwd, User, UserDom) = MD4(UNICODE(Passwd)))"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/464551a8-9fc4-428e-b3d3-bc5bfb2e73a5> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ntlm/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/nt-hash/> ;
    schema:description "NTLMはNTハッシュを鍵としてチャレンジ/レスポンス認証を行う"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/464551a8-9fc4-428e-b3d3-bc5bfb2e73a5> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/sha512crypt/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/openssl-passwd/> ;
    schema:description "sha512crypt形式かどうかは、文字列中のsaltをopenssl passwd -6に渡して再計算し、出力が一致するかで確認できる"@ja ;
    ks:evidence <https://docs.openssl.org/3.0/man1/openssl-passwd/> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/sha256crypt/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/openssl-passwd/> ;
    schema:description "sha256crypt形式かどうかは、文字列中のsaltをopenssl passwd -5に渡して再計算し、出力が一致するかで確認できる"@ja ;
    ks:evidence <https://docs.openssl.org/3.0/man1/openssl-passwd/> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/md5crypt/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/openssl-passwd/> ;
    schema:description "md5crypt形式かどうかは、文字列中のsaltをopenssl passwd -1に渡して再計算し、出力が一致するかで確認できる"@ja ;
    ks:evidence <https://docs.openssl.org/3.0/man1/openssl-passwd/> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/md5/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/hashcat/> ;
    schema:description "hashcatではMD5はモード番号0として指定する"@ja ;
    ks:evidence <https://hashcat.net/wiki/doku.php?id=example_hashes> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/sha-256/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/hashcat/> ;
    schema:description "hashcatではSHA-256はモード番号1400として指定する"@ja ;
    ks:evidence <https://hashcat.net/wiki/doku.php?id=example_hashes> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/sha512crypt/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/hashcat/> ;
    schema:description "hashcatではsha512cryptはモード番号1800として指定する"@ja ;
    ks:evidence <https://hashcat.net/wiki/doku.php?id=example_hashes> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/bcrypt/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/hashcat/> ;
    schema:description "hashcatではbcryptはモード番号3200として指定する"@ja ;
    ks:evidence <https://hashcat.net/wiki/doku.php?id=example_hashes> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/nt-hash/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/hashcat/> ;
    schema:description "hashcatではAD由来のNTハッシュはモード番号1000として指定する"@ja ;
    ks:evidence <https://hashcat.net/wiki/doku.php?id=example_hashes> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/pbkdf2/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/hashcat/> ;
    schema:description "hashcatではDjangoのPBKDF2-HMAC-SHA256形式はモード番号10000として指定する"@ja ;
    ks:evidence <https://hashcat.net/wiki/doku.php?id=example_hashes> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/scrypt/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/hashcat/> ;
    schema:description "hashcatではscrypt系の保存形式はモード番号8900として指定する"@ja ;
    ks:evidence <https://hashcat.net/wiki/doku.php?id=example_hashes> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ldap-scheme-prefix/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/base64-encoding/> ;
    schema:description "{SHA}/{SSHA}のような方式では、SHA-1やそのsalt付きdigestをBase64表現で埋め込む({CRYPT}のような素通し方式は対象外)"@ja ;
    ks:evidence <https://man7.org/linux/man-pages/man8/slappasswd.8.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ldap-scheme-prefix/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/sha-1/> ;
    schema:description "{SHA}はApache/LDAP系でBase64化したSHA-1 digestを指すことが多い"@ja ;
    ks:evidence <https://man7.org/linux/man-pages/man8/slappasswd.8.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ldap-scheme-prefix/> ;
    rdf:predicate ks:prevents ;
    rdf:object <https://comcomponent.com/knowledge/length-based-misidentification/> ;
    schema:description "{SHA}/{SSHA}のような波括弧の方式名プレフィックスも、文字列だけで方式を特定できるため長さだけに頼る誤判定を避けられる"@ja ;
    ks:evidence <https://man7.org/linux/man-pages/man8/slappasswd.8.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .
