golang配置中心加密,golang 配置中心

本文目錄一覽:

golang私有倉庫依賴配置

golang私有倉庫依賴配置

    版本要求:go 1.14+

    go mod 配置:

        go env -w GOPRIVATE=”gitlab.xxx.com”    //配置私有倉庫域名 :重要

        go env -w GONOPROXY=”gitlab.xxx.com”    //此配置下的域名默認不走代理

        go env -w GONOSUMDB=”gitlab.xxx.com”    //此配置下的域名默認不進行gosumdb校驗

        go env -w GOINSECURE=”gitlab.xxx.com”    //此配置下的域名默認採用http協議 。有些公司的私有倉庫採用http協議,而go mod默認採用                                                                                       https,請根據實際情況進行配置:重要

    賬戶及密碼:

        因私有倉庫一般都需要進行登錄,所以可以通過隱藏文件進行用戶名及密碼配置。

        文件路徑:~/.netrc    //默認Linux系統,

        文件內容:

            machine 域名    //gitlab.xxx.com

            login 賬號

            password 密碼

Golang 綁定mac和ip地址,限制伺服器

實際業務:go 二進位文件在私有化部署中,需要對客戶的伺服器mac和ip進行綁定,系統只能運行在綁定的伺服器上。把mac和ip地址配置到config中。

運行效果:系統可正常編譯,正常訪問,在用戶Auth介面進行核對。

//檢驗Mac和內網IP,測試環境不做校驗

func (c *CommonBase)CheckMacAndIp()error {

ipCfg :=g.Cfg().GetString(“machine.Ipaddr”)

macCfg :=g.Cfg().GetString(“machine.Macip”)

if ipCfg ==”127.0.0.1″ {

return nil

}

macArray,_ :=gipv4.GetMacArray()

if len(macArray) ==0 {

return gerror.New(“mac地址獲取失敗”)

}

if garray.NewStrArrayFrom(macArray).Contains(macCfg) ==false {

return gerror.New(“示授權的應用MAC,請聯繫”)

}

ipArray,_ :=gipv4.GetIpArray()

ipIntranetArray,_ :=gipv4.GetIntranetIpArray()

if len(ipArray) ==0 len(ipIntranetArray) ==0 {

return gerror.New(“ip地址獲取失敗”)

}

if garray.NewStrArrayFrom(ipArray).Merge(ipIntranetArray).Contains(ipCfg) ==false {

return gerror.New(“示授權的應用IP,請聯繫”)

}

return nil

}

項目使用GoFrame框架1.6。考慮到客戶可能會對內存數據做分析破解,可以把mac和ip地址做AES加密。

Golang 橢圓加密演算法實現

橢圓曲線密碼學(英語:Elliptic Curve Cryptography,縮寫:ECC)是一種基於橢圓曲線數學的公開密鑰加密演算法。橢圓曲線在密碼學中的使用是在1985年由Neal Koblitz和Victor Miller分別獨立提出的。

ECC的主要優勢是在某些情況下它比其他的演算法(比如RSA加密演算法)使用更小的密鑰並提供相當的或更高等級的安全。ECC的另一個優勢是可以定義群之間的雙線性映射,基於Weil對或是Tate對;雙線性映射已經在密碼學中發現了大量的應用,例如基於身份的加密。

不過一個缺點是加密和解密操作的實現比其他機制花費的時間長。

golang中crypto/hmac包

hmac包實現了U.S.Federal Infomation Processing Standards Publication 198規定的HMAC(加密哈希信息認證碼)。

HMAC是使用key標記信息的加密hash。接收者使用相同的key逆運算來認證hash。

出於安全目的,接收者應使用Equal函數比較認證碼:

這個包一共提供了兩個對外公開的函數:

func Equal(mac1, mac2 []byte) bool

比較兩個MAC是否相同,而不會泄露對比時間信息。(以規避時間側信道攻擊;指通過計算比較時花費的時間的長短來獲取密碼的信息,用於密碼破解)

func New(h func() hash.Hash, key []byte) hash.Hash

New函數返回一個採用hash.Hash作為底層hash介面、key作為密鑰的HMAC演算法的hash介面。

原創文章,作者:URUC,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/133628.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
URUC的頭像URUC
上一篇 2024-10-04 00:00
下一篇 2024-10-04 00:00

相關推薦

  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • 使用Golang調用Python

    在現代軟體開發中,多種編程語言的協作是相當普遍的。其中一種使用場景是Golang調用Python,這使得在使用Python庫的同時,可以利用Golang的高性能和強大並發能力。這篇…

    編程 2025-04-29
  • CPU爆滿怎麼解決 Java為中心

    在Java編程中,難免會遇到CPU佔用過高的情況,接下來從多個方面介紹如何解決CPU爆滿問題。 一、優化代碼 1、減少循環次數。循環體內不要放太多邏輯判斷和計算,可以把計算提取出來…

    編程 2025-04-29
  • CMD如何升級為中心?

    本文將詳細介紹在Windows操作系統下如何將CMD升級為中心,以及如何在升級後使用CMD中心進行操作。 一、下載Windows Terminal Windows Terminal…

    編程 2025-04-29
  • 如何使用GPU加速運行Python程序——以CSDN為中心

    GPU的強大性能是眾所周知的。而隨著深度學習和機器學習的發展,越來越多的Python開發者將GPU應用於深度學習模型的訓練過程中,提高了模型訓練效率。在本文中,我們將介紹如何使用G…

    編程 2025-04-29
  • 如何修改ant組件的動效為中心

    當我們使用Ant Design時,其默認的組件動效可能不一定符合我們的需求,這時我們需要修改Ant Design組件動效,使其更加符合我們的UI設計。本文將從多個方面詳細闡述如何修…

    編程 2025-04-29
  • 使用Golang創建黑色背景圖片的方法

    本文將從多個方面介紹使用Golang創建黑色背景圖片的方法。 一、安裝必要的代碼庫和工具 在開始創建黑色背景圖片之前,我們需要先安裝必要的代碼庫和工具: go get -u git…

    編程 2025-04-29
  • 黑夜不迷途打一中藥名為中心

    中藥作為中華民族獨有的藥物療法,已經歷了千百年的歷史,在中醫中發揮著重要的作用。其中有一種藥物,以「黑夜不迷途」為謎底,是一種著名的中藥。下面將從藥物的組成、功效、用法等方面,進行…

    編程 2025-04-29
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • 為什麼要除為中心進行平均分組

    平均分組是指將數據分為若干組,使得每組的數據之和儘可能相等,這樣可以更好地控制數據波動,減少誤差。然而,為什麼要除為中心進行平均分組呢?本文將從多個方面進行闡述。 一、分組方式的影…

    編程 2025-04-28

發表回復

登錄後才能評論