- リソース: HashList
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- RiceDeltaEncoded32Bit
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- RiceDeltaEncoded64Bit
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- RiceDeltaEncoded128Bit
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- RiceDeltaEncoded256Bit
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- HashListMetadata
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- ThreatType
- LikelySafeType
- HashLength
- メソッド
リソース: HashList
名前で識別されるハッシュのリスト。
JSON 表現 |
---|
{ "name": string, "version": string, "partialUpdate": boolean, "compressedRemovals": { object ( |
フィールド | |
---|---|
name |
ハッシュリストの名前。グローバル キャッシュも単なるハッシュリストであり、ここで参照できます。 |
version |
ハッシュリストのバージョン。クライアントはそれらのバイトを操作してはなりません。 Base64 でエンコードされた文字列。 |
partialUpdate |
true の場合、クライアントがすでに持っているものに基づいて追加と削除を含む部分的な差分です。false の場合、これは完全なハッシュリストです。 false の場合、クライアントは、このハッシュリストのローカルに保存されているバージョンをすべて削除しなければなりません。これは、クライアントが所有するバージョンが著しく古くなっているか、クライアント データが破損していると考えられることを意味します。 true の場合、クライアントは削除と追加の適用により、増分アップデートを適用しなければなりません。 |
compressedRemovals |
ライスデルタでエンコードされた削除インデックスのバージョン。各ハッシュリストのエントリ数は明らかに 2^32 未満なので、インデックスは 32 ビット整数として扱われ、エンコードされます。 |
minimumWaitDuration |
クライアントがハッシュリストを再度取得するには、少なくともこれほどの時間待つ必要があります。省略するかゼロの場合、クライアントはすぐにフェッチすべきです。これは、サーバーにはクライアントに送信する追加のアップデートがあるものの、クライアントが指定した制約のためにできなかったことを示しているからです。
|
metadata |
ハッシュリストに関するメタデータ。これは |
共用体フィールド compressed_additions 。ライスデルタでエンコードされた加算バージョン。追加値のハッシュ接頭辞長は、リスト内のすべての追加で均一です。これは、クライアントから送信された desired_hash_length か、クライアントがフィールドを省略した場合はサーバーが選択した値です。compressed_additions は次のいずれかになります。 |
|
additionsFourBytes |
4 バイトの加算。 |
additionsEightBytes |
8 バイトの加算。 |
additionsSixteenBytes |
16 バイトの追加。 |
additionsThirtyTwoBytes |
32 バイトの加算。 |
共用体フィールド checksum 。これは、指定された更新を適用した後、データベースに存在するすべてのハッシュの並べ替え済みリストのチェックサムです。これは「oneof」ですフィールドを使用して複数のハッシュ アルゴリズムを使用できます。また、サーバーでこのフィールドを省略して(更新が提供されていない場合)、クライアントが既存のチェックサムを使用するように指定することもできます。checksum は次のいずれかになります。 |
|
sha256Checksum |
すべてのハッシュを並べ替えたリスト。SHA256 で再度ハッシュ化します。 Base64 でエンコードされた文字列。 |
RiceDeltaEncoded32 ビット
Rice-Golomb でエンコードされたデータ。ハッシュまたは削除インデックスのいずれかに使用されます。すべてのハッシュまたはインデックスは同じ長さであることが保証されており、この長さはちょうど 32 ビットです。
一般的には、すべてのエントリを辞書順に並べ替えると、上位ビットが下位ビットほど頻繁には変化しない傾向があることがわかります。これは、エントリ間の隣接する差分も取得する場合、上位のビットがゼロである可能性が高いことを意味します。これは、基本的に特定の数のビットを選択することで、ゼロの確率の高さを利用します。これより重要なビットはすべてゼロになる可能性が高いため、単項エンコードを使用します。riceParameter
フィールドをご覧ください。
歴史的な注意事項: ライスデルタ エンコードは、この API の V4 で初めて使用されました。V5 では 2 つの大きな改善が行われました。1 つ目は、ライスデルタエンコーディングが、4 バイトを超えるハッシュプレフィックスで利用できるようになったことです。次に、コストのかかる並べ替えステップを回避するために、エンコードされたデータがビッグ エンディアンとして扱われるようになりました。
JSON 表現 |
---|
{ "firstValue": integer, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
フィールド | |
---|---|
firstValue |
エンコードされたデータの最初のエントリ(ハッシュまたはインデックス)。1 つのハッシュプレフィックスまたはインデックスのみがエンコードされている場合は、そのエントリの値。フィールドが空の場合、エントリはゼロです。 |
riceParameter |
Golomb-Rice パラメータ。このパラメータは、3 ~ 30 の値を取ることが保証されています。 |
entriesCount |
エンコードされたデータでデルタ エンコードされたエントリの数。単一の整数のみがエンコードされている場合、これはゼロになり、単一の値が |
encodedData |
Golomb-Rice コーダーを使用してエンコードされた差分。 Base64 でエンコードされた文字列。 |
RiceDeltaEncoded64 ビット
RiceDeltaEncoded32Bit
と同じですが、64 ビットの数値をエンコードします。
JSON 表現 |
---|
{ "firstValue": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
フィールド | |
---|---|
firstValue |
エンコードされたデータの最初のエントリ(ハッシュ)。ハッシュ プレフィックスが 1 つだけエンコードされている場合は、そのエントリの値。フィールドが空の場合、エントリはゼロです。 |
riceParameter |
Golomb-Rice パラメータ。このパラメータは、35 ~ 62 の値を取ることが保証されています。 |
entriesCount |
エンコードされたデータでデルタ エンコードされたエントリの数。単一の整数のみがエンコードされている場合、これはゼロになり、単一の値が |
encodedData |
Golomb-Rice コーダーを使用してエンコードされた差分。 Base64 でエンコードされた文字列。 |
RiceDeltaEncoded128 ビット
RiceDeltaEncoded32Bit
と同じですが、128 ビットの数値をエンコードします。
JSON 表現 |
---|
{ "firstValueHi": string, "firstValueLo": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
フィールド | |
---|---|
firstValueHi |
エンコードされたデータの最初のエントリの上位 64 ビット(ハッシュ)。フィールドが空の場合、上位 64 ビットはすべてゼロです。 |
firstValueLo |
エンコードされたデータの最初のエントリの下位 64 ビット(ハッシュ)。フィールドが空の場合、下位 64 ビットはすべてゼロです。 |
riceParameter |
Golomb-Rice パラメータ。このパラメータは、99 ~ 126 の値を取ることが保証されています。 |
entriesCount |
エンコードされたデータでデルタ エンコードされたエントリの数。単一の整数のみがエンコードされている場合、これはゼロになり、単一の値が |
encodedData |
Golomb-Rice コーダーを使用してエンコードされた差分。 Base64 でエンコードされた文字列。 |
RiceDeltaEncoded256 ビット
RiceDeltaEncoded32Bit
と同じですが、256 ビットの数値をエンコードします。
JSON 表現 |
---|
{ "firstValueFirstPart": string, "firstValueSecondPart": string, "firstValueThirdPart": string, "firstValueFourthPart": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
フィールド | |
---|---|
firstValueFirstPart |
エンコードされたデータの最初のエントリの最初の 64 ビット(ハッシュ)。フィールドが空の場合、最初の 64 ビットはすべてゼロです。 |
firstValueSecondPart |
エンコードされたデータの最初のエントリの 65 ~ 128 ビット目(ハッシュ)。フィールドが空の場合、65 ~ 128 番目のビットはすべてゼロです。 |
firstValueThirdPart |
エンコードされたデータの最初のエントリの 129 ~ 192 ビット目(ハッシュ)。フィールドが空の場合、129 ~ 192 番目のビットはすべてゼロです。 |
firstValueFourthPart |
エンコードされたデータの最初のエントリの最後の 64 ビット(ハッシュ)。フィールドが空の場合、最後の 64 ビットはすべてゼロです。 |
riceParameter |
Golomb-Rice パラメータ。このパラメータは、227 ~ 254 の値を取ることが保証されています。 |
entriesCount |
エンコードされたデータでデルタ エンコードされたエントリの数。単一の整数のみがエンコードされている場合、これはゼロになり、単一の値が |
encodedData |
Golomb-Rice コーダーを使用してエンコードされた差分。 Base64 でエンコードされた文字列。 |
HashListMetadata
特定のハッシュリストに関するメタデータ。
JSON 表現 |
---|
{ "threatTypes": [ enum ( |
フィールド | |
---|---|
threatTypes[] |
順序なしリスト。空でない場合は、ハッシュリストが一種の脅威リストであることを指定し、このハッシュリストのハッシュまたはハッシュ接頭辞に関連する脅威の種類を列挙します。エントリが脅威を表していない場合、つまり、安全なタイプである可能性が高い場合は、空になります。 |
likelySafeTypes[] |
順序なしリスト。空でない場合は、ハッシュリストが安全な可能性が高いハッシュのリストを表すことを指定し、それらが安全であると考えられる方法を列挙します。このフィールドは、threatTypes フィールドと相互に排他的です。 |
mobileOptimized |
このリストがモバイル デバイス(Android と iOS)向けに最適化されているかどうか。 |
description |
このリストに関する、人が読める形式の説明。英語で記述。 |
supportedHashLengths[] |
このハッシュリストでサポートされているハッシュ長。各ハッシュリストは少なくとも 1 つの長さをサポートします。したがって、このフィールドは空になりません。 |
ThreatType
脅威の種類
列挙型 | |
---|---|
THREAT_TYPE_UNSPECIFIED |
不明な脅威タイプ。これがサーバーから返された場合、クライアントは含まれている FullHashDetail を完全に無視する必要があります。 |
MALWARE |
マルウェアの脅威の種類。マルウェアとは、ソフトウェアまたはモバイルアプリであり、特にパソコン、モバイル デバイス、それらで実行されているソフトウェア、パソコンやモバイル デバイスのユーザーに対して有害な影響を与えることを目的として設計されたものを指します。マルウェアは、ユーザーの同意なしにソフトウェアをインストールする、ウイルスなどの有害なソフトウェアをインストールするなど、悪意のある動作を示します。 詳細につきましては、こちらをご覧ください。 |
SOCIAL_ENGINEERING |
ソーシャル エンジニアリングの脅威タイプ。ソーシャル エンジニアリング ページでは、閲覧者が第三者の真の代理人のみを信頼して操作を実行させることを意図して、第三者を代理していると偽って視聴者を混乱させます。フィッシングとは、ログイン認証情報などの情報を提供してもらうという特定の操作をユーザーに行わせるソーシャル エンジニアリングの一種です。 詳細につきましては、こちらをご覧ください。 |
UNWANTED_SOFTWARE |
望ましくないソフトウェアの脅威の種類。望ましくないソフトウェアとは、Google のソフトウェア原則に準拠していないがマルウェアではないソフトウェアを指します。 |
POTENTIALLY_HARMFUL_APPLICATION |
Play ストアの Google Play プロテクトで使用されている、有害な可能性があるアプリの脅威の種類。 |
LikelySafeType
安全性の高いサイトの種類
なお、SearchHashesResponse
には意図的に LikelySafeType
を含めていません。
列挙型 | |
---|---|
LIKELY_SAFE_TYPE_UNSPECIFIED |
不明。 |
GENERAL_BROWSING |
このサイトは一般的なブラウジングには十分安全であると考えられます。これはグローバル キャッシュとも呼ばれます。 |
CSD |
このサイトは十分に安全であるため、クライアント側の検出モデルやパスワード保護チェックを実行する必要はありません。 |
DOWNLOAD |
このサイトは十分に安全である可能性が高いため、サイトからのダウンロードはチェックする必要はありません。 |
HashLength
ハッシュリスト内のハッシュの長さ。
列挙型 | |
---|---|
HASH_LENGTH_UNSPECIFIED |
長さが指定されていません。サーバーはクライアントへのレスポンス(supportedHashLengths フィールド)でこの値を返しませんが、クライアントはこの値をサーバー(desiredHashLength フィールド)に送信することができます。送信する場合は、サーバーが自動的に値を選択します。クライアントは、サーバーが値を選択できるようにすべきです。 |
FOUR_BYTES |
各ハッシュは 4 バイトの接頭辞です。 |
EIGHT_BYTES |
各ハッシュは 8 バイトの接頭辞です。 |
SIXTEEN_BYTES |
各ハッシュは 16 バイトの接頭辞です。 |
THIRTY_TWO_BYTES |
各ハッシュは、32 バイトの完全なハッシュです。 |
メソッド |
|
---|---|
|
ハッシュリストの最新の内容を取得します。 |