google二次認證mac指令碼

2021-10-05 00:00:00 字數 1451 閱讀 4920

github位址

將下面key替換成google二次認證時的key。檔名 google_authenticator.go

go build google_authenticator.go

會生成乙個可執行檔案google_authenticator

3. 可以重新命名一下簡單方便的名字,然後配置環境變數到這個目錄下,或者移動檔案到可執行的環境目錄下

4. 可以在任何地方輸入goo*** +tab自動補全,然後回車

package main

import (

"crypto/hmac"

"crypto/sha1"

"encoding/base32"

"encoding/binary"

"fmt"

"time"

)var key = "j3uys**n6pdaauhq1g49"

func main()

// makegoogleauthenticator 獲取key&t對應的驗證碼

// key 秘鑰

// t 2023年的秒

func makegoogleauthenticator(key string, t int64) (string, error)

snum := lastbit4byte(hs)

d := snum % 1000000

return fmt.sprintf("%06d", d), nil

}// makegoogleauthenticatorfornow 獲取key對應的驗證碼

func makegoogleauthenticatorfornow(key string) (string, error)

func lastbit4byte(hmacsha1 byte) int32

offsetbits := int8(hmacsha1[len(hmacsha1)-1]) & 0x0f

p := (int32(hmacsha1[offsetbits]) << 24) | (int32(hmacsha1[offsetbits+1]) << 16) | (int32(hmacsha1[offsetbits+2]) << 8) | (int32(hmacsha1[offsetbits+3]) << 0)

return (p & 0x7fffffff)

}func hmacsha1(key string, t int64) (byte, error)

cdata := make(byte, 8)

binary.bigendian.putuint64(cdata, uint64(t))

h1 := hmac.new(sha1.new, decodekey)

_, e := h1.write(cdata)

if e != nil

return h1.sum(nil), nil

}

WebDriver API二次封裝指令碼

project description webdriver api二次封裝類 time 2019 11 11 18 51 author ming from selenium import webdriver from selenium.webdriver.support.select import ...

TCL指令碼中變數的二次引用

tcl指令碼中變數的二次引用 我們通常使用tcl指令碼中的變數一般只會間接訪問一次,即 seta10 puts a那麼如果想要間接訪問兩次怎麼解決,即 set a 10 set b a 如何通過b來列印a的值呢?puts b 列印 a puts 出錯有或者 set i 10 while我們如何解決這...

tipask二次開發總結 tipask二次開發總結

條件模板 statement1 statement2 statement3 不帶下標變數的陣列迴圈 statement php的迴圈輸入 foreach array as value statement foreach array as key value 可以引用介面替換變數,其中必須為大寫字母,...