第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在golang中使用N=和E=解析公鑰?

如何在golang中使用N=和E=解析公鑰?

Go
肥皂起泡泡 2022-06-01 15:08:33
我有一個mbedtls 生成的RSA 公鑰,它是在我需要在 Golang 中解析的嵌入式設備上創(chuàng)建的。我的密鑰不是 pem 格式,只包含模數(shù)和指數(shù),如下所示:N = 9C99AB1DC1462220A628D19BB6C6627FDCCC208FD9F93722F44515F5086F3312D3EFE256A11789F1F7F9A114B879A2DE0005FAE99A68321DD821CE589D1F6E0DE = 010001我相信我可以自己解析這個,但是因為你不應該實現(xiàn)自己的加密方法,而且 Golang 有一套非常完整的功能,我能做些什么來創(chuàng)建一個rsa.PublicKey呢?我可以生成一個 PEM 密鑰,但這似乎是一個很大的浪費
查看完整描述

1 回答

?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

解析自己的輸入并沒有錯,我不會稱其為“重新實現(xiàn)加密原語”。


要獲取公鑰,只需將模數(shù)解析為一個大整數(shù):


bigN.SetString("9C99AB1DC1462220A628D...", 16)

然后創(chuàng)建自己的rsa.PublicKey.


操場上的完整示例:


N := "9C99AB1DC1462220A628D19BB6C6627FDCCC208FD9F93722F44515F5086F3312D3EFE256A11789F1F7F9A114B879A2DE0005FAE99A68321DD821CE589D1F6E0D"

E := 010001

bigN := new(big.Int)

_, ok := bigN.SetString(N, 16)

if !ok {

    panic("failed to parse")

}

pub := rsa.PublicKey{

    N: bigN,

    E: E,

}

fmt.Println(pub)


查看完整回答
反對 回復 2022-06-01
  • 1 回答
  • 0 關注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號