REST Resource: hashList

리소스: HashList

이름으로 식별된 해시 목록입니다.

JSON 표현
{
  "name": string,
  "version": string,
  "partialUpdate": boolean,
  "compressedRemovals": {
    object (RiceDeltaEncoded32Bit)
  },
  "minimumWaitDuration": string,
  "metadata": {
    object (HashListMetadata)
  },

  // Union field compressed_additions can be only one of the following:
  "additionsFourBytes": {
    object (RiceDeltaEncoded32Bit)
  },
  "additionsEightBytes": {
    object (RiceDeltaEncoded64Bit)
  },
  "additionsSixteenBytes": {
    object (RiceDeltaEncoded128Bit)
  },
  "additionsThirtyTwoBytes": {
    object (RiceDeltaEncoded256Bit)
  }
  // End of list of possible types for union field compressed_additions.

  // Union field checksum can be only one of the following:
  "sha256Checksum": string
  // End of list of possible types for union field checksum.
}
입력란
name

string

해시 목록의 이름입니다. 전역 캐시도 해시 목록이며 여기서 참조할 수 있습니다.

version

string (bytes format)

해시 목록의 버전입니다. 클라이언트는 이러한 바이트를 조작하면 안 됩니다(MUST NOT).

base64 인코딩 문자열입니다.

partialUpdate

boolean

true인 경우 클라이언트가 이미 보유한 항목을 기반으로 추가 및 삭제가 포함된 부분적인 차이입니다. false인 경우 전체 해시 목록입니다.

false인 경우 클라이언트는 이 해시 목록의 로컬에 저장된 버전을 삭제해야 합니다(MUST). 이는 고객이 소유한 버전이 매우 오래되었거나 고객 데이터가 손상된 것으로 여겨졌음을 의미합니다. compressedRemovals 필드는 비어 있습니다.

true인 경우 클라이언트는 삭제 후 추가를 적용하여 증분 업데이트를 적용해야 합니다(MUST).

compressedRemovals

object (RiceDeltaEncoded32Bit)

삭제 색인의 Rice-delta 인코딩 버전입니다. 각 해시 목록에는 2^32개 미만의 항목이 있으므로 색인은 32비트 정수로 취급되어 인코딩됩니다.

minimumWaitDuration

string (Duration format)

해시 목록을 다시 가져오려면 클라이언트가 이 시간 이상 기다려야 합니다. 생략되거나 0이면 서버에 클라이언트에 전송할 추가 업데이트가 있지만 클라이언트가 지정한 제약조건으로 인해 그럴 수 없음을 나타내기 때문에 클라이언트는 즉시 가져와야 합니다(SHOULD).

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

metadata

object (HashListMetadata)

해시 목록에 관한 메타데이터입니다. hashList.get 메서드에 의해 채워지지 않지만 ListHashLists 메서드에 의해 채워집니다.

통합 필드 compressed_additions. 덧셈의 Rice-delta 인코딩 버전입니다. 추가의 해시 접두사 길이는 목록에 있는 모든 추가 항목에서 균일합니다. 클라이언트가 전송한 desired_hash_length이거나 클라이언트가 해당 필드를 생략한 경우 서버에서 선택한 값입니다. compressed_additions은 다음 중 하나여야 합니다.
additionsFourBytes

object (RiceDeltaEncoded32Bit)

4바이트 추가사항.

additionsEightBytes

object (RiceDeltaEncoded64Bit)

8바이트 추가.

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

16바이트 추가.

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

32바이트 추가.

통합 필드 checksum. 이는 제공된 업데이트를 적용한 후 데이터베이스에 있는 모든 해시의 정렬된 목록의 체크섬입니다. 여러 해싱 알고리즘을 허용하는 'oneof' 필드입니다. 또한 업데이트가 제공되지 않은 경우 서버가 이 필드를 생략하여 클라이언트가 기존 체크섬을 사용해야 함을 나타낼 수도 있습니다. checksum은 다음 중 하나여야 합니다.
sha256Checksum

string (bytes format)

SHA256으로 다시 해싱된 모든 해시의 정렬된 목록입니다.

base64 인코딩 문자열입니다.

RiceDelta인코딩된32비트

Rice-Golomb 인코딩 데이터 해시 또는 삭제 색인에 사용됩니다. 여기서 모든 해시 또는 색인의 길이가 동일하고 이 길이는 정확히 32비트입니다.

일반적으로 모든 항목을 사전순으로 정렬하면 순서가 높은 비트가 하위 비트만큼 자주 변경되지 않는 경향이 있습니다. 즉, 입력 간의 인접 차이를 가져오면 상위 비트가 0이 될 가능성이 높습니다. 이는 기본적으로 특정 수의 비트를 선택하여 0의 높은 확률을 악용합니다. 이보다 더 중요한 비트는 모두 0일 가능성이 높으므로 단항 인코딩을 사용합니다. riceParameter 필드를 참고하세요.

이전 참고사항: Rice-delta 인코딩은 이 API의 V4에서 처음 사용되었습니다. V5에서는 두 가지 중요한 개선사항이 적용되었습니다. 첫째, 이제 4바이트가 넘는 해시 접두사로 Rice-delta 인코딩을 사용할 수 있습니다. 두 번째로, 많은 비용이 드는 정렬 단계를 피할 수 있도록 인코딩된 데이터가 이제 big-endian으로 처리됩니다.

JSON 표현
{
  "firstValue": integer,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
입력란
firstValue

integer (uint32 format)

인코딩된 데이터의 첫 번째 항목 (해시 또는 색인) 또는 단일 해시 접두사 또는 색인만 인코딩된 경우 해당 항목의 값입니다. 필드가 비어 있으면 항목이 0입니다.

riceParameter

integer

Golomb-Rice 매개변수 이 매개변수는 항상 3에서 30 사이(양 끝값 포함)입니다.

entriesCount

integer

인코딩된 데이터에서 델타 인코딩된 항목 수입니다. 하나의 정수만 인코딩된 경우 0이 되고 단일 값은 firstValue에 저장됩니다.

encodedData

string (bytes format)

Golomb-Rice 코더를 사용하여 인코딩된 인코딩된 델타입니다.

base64 인코딩 문자열입니다.

RiceDelta인코딩64비트

64비트 숫자를 인코딩한다는 점을 제외하면 RiceDeltaEncoded32Bit와 동일합니다.

JSON 표현
{
  "firstValue": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
입력란
firstValue

string

인코딩된 데이터의 첫 번째 항목 (해시) 또는 해시 접두사가 하나만 인코딩된 경우 해당 항목의 값입니다. 필드가 비어 있으면 항목이 0입니다.

riceParameter

integer

Golomb-Rice 매개변수 이 매개변수는 항상 35 이상 62 이하입니다.

entriesCount

integer

인코딩된 데이터에서 델타 인코딩된 항목 수입니다. 하나의 정수만 인코딩된 경우 0이 되고 단일 값은 firstValue에 저장됩니다.

encodedData

string (bytes format)

Golomb-Rice 코더를 사용하여 인코딩된 인코딩된 델타입니다.

base64 인코딩 문자열입니다.

RiceDelta인코딩128비트

128비트 숫자를 인코딩한다는 점을 제외하면 RiceDeltaEncoded32Bit와 동일합니다.

JSON 표현
{
  "firstValueHi": string,
  "firstValueLo": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
입력란
firstValueHi

string

인코딩된 데이터 (해시)에서 첫 번째 항목의 상위 64비트입니다. 필드가 비어 있으면 상위 64비트는 모두 0입니다.

firstValueLo

string (uint64 format)

인코딩된 데이터 (해시)에서 첫 번째 항목의 하위 64비트입니다. 필드가 비어 있으면 하위 64비트는 모두 0입니다.

riceParameter

integer

Golomb-Rice 매개변수 이 매개변수는 항상 99 이상 126 이하입니다.

entriesCount

integer

인코딩된 데이터에서 델타 인코딩된 항목 수입니다. 하나의 정수만 인코딩된 경우 0이 되고 단일 값은 firstValue에 저장됩니다.

encodedData

string (bytes format)

Golomb-Rice 코더를 사용하여 인코딩된 인코딩된 델타입니다.

base64 인코딩 문자열입니다.

RiceDeltaEnencoded256비트

256비트 숫자를 인코딩한다는 점을 제외하면 RiceDeltaEncoded32Bit와 동일합니다.

JSON 표현
{
  "firstValueFirstPart": string,
  "firstValueSecondPart": string,
  "firstValueThirdPart": string,
  "firstValueFourthPart": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
입력란
firstValueFirstPart

string

인코딩된 데이터 (해시) 내 첫 번째 항목의 첫 64비트입니다. 필드가 비어 있으면 처음 64비트는 모두 0입니다.

firstValueSecondPart

string (uint64 format)

인코딩된 데이터 (해시)에서 첫 번째 항목의 65~128번째 비트입니다. 필드가 비어 있으면 65~128번째 비트는 모두 0입니다.

firstValueThirdPart

string (uint64 format)

인코딩된 데이터 (해시)에서 첫 번째 항목의 129~192번째 비트입니다. 필드가 비어 있으면 129~192번째 비트는 모두 0입니다.

firstValueFourthPart

string (uint64 format)

인코딩된 데이터 (해시)에서 첫 번째 항목의 마지막 64비트입니다. 필드가 비어 있으면 마지막 64비트가 모두 0입니다.

riceParameter

integer

Golomb-Rice 매개변수 이 매개변수는 항상 227 이상 254 이하입니다.

entriesCount

integer

인코딩된 데이터에서 델타 인코딩된 항목 수입니다. 하나의 정수만 인코딩된 경우 0이 되고 단일 값은 firstValue에 저장됩니다.

encodedData

string (bytes format)

Golomb-Rice 코더를 사용하여 인코딩된 인코딩된 델타입니다.

base64 인코딩 문자열입니다.

HashListMetadata

특정 해시 목록에 관한 메타데이터입니다.

JSON 표현
{
  "threatTypes": [
    enum (ThreatType)
  ],
  "likelySafeTypes": [
    enum (LikelySafeType)
  ],
  "mobileOptimized": boolean,
  "description": string,
  "supportedHashLengths": [
    enum (HashLength)
  ]
}
입력란
threatTypes[]

enum (ThreatType)

순서가 지정되지 않은 목록입니다. 비어 있지 않으면 해시 목록이 일종의 위협 목록임을 지정하고 이 해시 목록의 해시 또는 해시 접두사와 관련된 위협의 종류를 열거합니다. 항목이 위협을 나타내지 않는 경우(즉, 가능성이 안전한 유형을 나타내는 경우) 비어 있을 수 있습니다.

likelySafeTypes[]

enum (LikelySafeType)

순서가 지정되지 않은 목록입니다. 비어 있지 않으면 해시 목록이 안전할 가능성이 높은 해시 목록을 나타내고 안전할 가능성이 높은 것으로 간주되는 방식을 열거합니다. 이 필드는 threatTypes 필드와 상호 배타적입니다.

mobileOptimized

boolean

이 목록이 휴대기기 (Android 및 iOS)에 최적화되어 있는지를 나타냅니다.

description

string

이 목록에 관한 사람이 읽을 수 있는 설명입니다. 영어로 작성됩니다.

supportedHashLengths[]

enum (HashLength)

이 해시 목록에 지원되는 해시 길이입니다. 각 해시 목록은 하나 이상의 길이를 지원합니다. 따라서 이 필드는 비어 있지 않습니다.

ThreatType

위협 유형.

열거형
THREAT_TYPE_UNSPECIFIED 알 수 없는 위협 유형입니다. 서버에서 이 값을 반환하면 클라이언트는 동봉한 FullHashDetail를 모두 무시해야 합니다.
MALWARE

멀웨어 위협 유형입니다. 멀웨어란 컴퓨터, 휴대기기, 실행 중인 소프트웨어 또는 사용자에게 해를 끼치기 위해 설계된 소프트웨어 또는 모바일 애플리케이션입니다. 멀웨어는 사용자의 동의 없이 소프트웨어를 설치하거나 바이러스와 같은 유해한 소프트웨어를 설치하는 등 악의적인 방식으로 작동합니다.

자세한 정보는 여기를 참조하세요.

SOCIAL_ENGINEERING

소셜 엔지니어링 위협 유형입니다. 소셜 엔지니어링 페이지는 시청자가 실제로 제3자의 대리인만 믿도록 하여 시청자를 현혹할 목적으로 제3자를 대신한다고 허위로 사칭합니다. 피싱은 사용자를 속여 로그인 사용자 인증 정보와 같은 정보를 제공하는 특정 작업을 수행하도록 하는 소셜 엔지니어링의 한 유형입니다.

자세한 정보는 여기를 참조하세요.

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 필드)로 전송할 수 있습니다. 이 경우 서버는 자동으로 값을 선택합니다. 클라이언트는 서버가 값을 선택하도록 허용해야 합니다(SHOULD).
FOUR_BYTES 각 해시는 4바이트 접두사입니다.
EIGHT_BYTES 각 해시는 8바이트 접두사입니다.
SIXTEEN_BYTES 각 해시는 16바이트 접두사입니다.
THIRTY_TWO_BYTES 각 해시는 32바이트 전체 해시입니다.

방법

get

해시 목록의 최신 콘텐츠를 가져옵니다.