Can you summarize the following document?
        
  通常,使用者安裝身份驗證程式在智慧手機上。為了登入到使用兩步驗證的網站或服務上,使用者提供使用者名稱和密碼後執行身份驗證器進行額外驗證。 該應用程式會生成六位數的一次性密碼,而不同網站可能會生成同一密碼。  為了使身份驗證器正常工作,安裝執行之前網站必須向使用者提供一組共享金鑰。這組金鑰將會用於未來的所有登陸請求。  在兩步驗證的保護之下,僅僅擁有使用者名稱密碼已不足以黑入賬戶。攻擊者需要這組共享金鑰或者拿到進行兩步驗證的移動裝置。另一種方法是進行中間人攻擊;若使用者的電腦被木馬侵入,則使用者名稱、密碼及一次性密碼都將被木馬所捕獲,隨後攻擊者即可利用木馬進行登入、監聽或修改使用者與網站的通訊。

  谷歌提供安卓、黑莓和iOS版本的身份驗證器。同時也存在有第三方版本。

  服務提供商為每個使用者生成80位的金鑰(然而RFC 4226 §4要求使用128位並建議使用160位金鑰)。 它以16位、26位或者32位base32的字串亦或是二維碼的方式提供出來。客戶端使用此金鑰生成HMAC-SHA1。經過HMAC處理過的資訊可能為: 一段雜湊值被提取出來並轉換為6位數密碼。

  <syntaxhighlight> </syntaxhighlight>

  <syntaxhighlight> </syntaxhighlight>

  Google身份驗證器在Google Play商店上目前(2017年9月16日)以私有版權協議釋出。Google在GitHub上開放了其身份驗證器原始碼,並陳述如下:“此開源計劃包含了2.21版本的原始碼。隨後的版本中包含了Google特有的工作流程,與此專案無關。”Android版本的獨立分支之一為FreeOTP,其基於Google在GitHub上所開源的最新版本。另外一個並非很火的分支OTP Authenticator也在Google Play上可供下載。
Google身份驗證器是一款基於時間與雜湊的一次性密碼演算法的兩步驗證軟體令牌,此軟體用於Google的認證服務。此項服務所使用的演算法已列於 RFC 6238 和 RFC 4226 中。