gpt4 book ai didi

go - 将 base64 字符串转换为 int 以在 Go 中使用加密

转载 作者:行者123 更新时间:2023-12-03 17:35:19 24 4
gpt4 key购买 nike

我正在尝试使用 golang 进行一些简单的加密。

我有一个 base64 编码的模和指数形式的 RSA 公钥。
我想使用这些值来实例化 rsa.PublicKey struct .

将模 base64 字符串转换为 big.Int 对我来说看起来非常简单。

出乎意料的是,我在尝试将 base64 字符串转换为简单的 int(RSA key 的指数部分)时遇到了很多麻烦。

我想出的最好的事情:

package main

import (
"encoding/base64"
"fmt"
"math/big"
)

func main() {
e_data, _ := base64.RawURLEncoding.DecodeString("AQAB")

e_big := new(big.Int)
e_big.SetBytes(e_data)
e := int(e_big.Int64())

// Finally I have an int here to use it in rsa.PublicKey struct
fmt.Println(e)
}

有没有更好,更简单的方法将base64字符串转换为int?

最佳答案

这似乎做到了:

package main

import (
"encoding/base64"
"encoding/binary"
)

func decode(s string) (uint32, error) {
a, e := base64.StdEncoding.DecodeString(s)
if e != nil { return 0, e }
return binary.LittleEndian.Uint32(append(a, 0)), nil
}

func main() {
n, e := decode("AQAB")
if e != nil {
panic(e)
}
println(n == 65537)
}
https://golang.org/pkg/encoding/binary

关于go - 将 base64 字符串转换为 int 以在 Go 中使用加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48776674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com