Google Safe Browsing APIからのデータを確認するために、更新ごとにメッセージ認証コード (MAC) を計算できます。これを行う手順 (Google から) は次のとおりです。
MAC は、次の情報に基づいて MD5 ダイジェストから計算されます: client_key|separator|table data|separator|client_key。区切り文字は文字列:coolgoog: - コロンの後に "coolgoog" が続き、その後にコロンが続きます。結果の 128 ビット MD5 ダイジェストは、websafe base-64 でエンコードされます。
確認するサンプル データもあります。
client key: "8eirwN1kTwCzgWA2HxTaRQ=="
応答:
[goog-black-hash 1.180 update][mac=dRalfTU+bXwUhlk0NCGJtQ==]
+8070465bdf3b9c6ad6a89c32e8162ef1
+86fa593a025714f89d6bc8c9c5a191ac
+bbbd7247731cbb7ec1b3a5814ed4bc9d
*Note that there are tabs at the end of each line.
私は試合を得ることができません。私が間違っているところを指摘するか、これを行うために必要な数行の Python コードを書いてください!
FWIW、私は次のようなことができると思っていました:
>>> s = "+8070465bdf3b9c6ad6a89c32e8162ef1\t\n+86fa593a025714f89d6bc8c9c5a191ac\t\n+bbbd7247731cbb7ec1b3a5814ed4bc9d\t"
>>> c = "8eirwN1kTwCzgWA2HxTaRQ=="
>>> hashlib.md5("%s%s%s%s%s" % (c, ":coolgoog:", s, ":coolgoog:", c)).digest().encode("base64")
'qfb50mxpHrS82yTofPkcEg==\n'
しかし、ご覧のとおり、'qfb50mxpHrS82yTofPkcEg==\n' != 'dRalfTU+bXwUhlk0NCGJtQ==' です。