首页 文章资讯内容详情

golang token的生成和获取

2026-06-01 4 花语

本文内容纲要:

-golang加减密

golang加减密

token的生成和获取 //GetToken获取token funcGetToken(appId,userId,deviceIdint64,expireint64,publicKeystring)(string,error){ info:=TokenInfo{ AppId:appId, UserId:userId, DeviceId:deviceId, Expire:expire, } bytes,err:=json.Marshal(info) iferr!=nil{ logger.Sugar.Error(err) return"",err } token,err:=RsaEncrypt(bytes,[]byte(publicKey)) iferr!=nil{ return"",err } returnbase64.StdEncoding.EncodeToString(token),nil } //DecryptToken对加密的token进行解码 funcDecryptToken(tokenstring,privateKeystring)(*TokenInfo,error){ bytes,err:=base64.StdEncoding.DecodeString(token) iferr!=nil{ logger.Sugar.Error(err) returnnil,err } result,err:=RsaDecrypt(bytes,Str2bytes(privateKey)) iferr!=nil{ logger.Sugar.Error(err) returnnil,err } varinfoTokenInfo err=jsoniter.Unmarshal(result,&info) iferr!=nil{ logger.Sugar.Error(err) returnnil,err } return&info,nil } 加减密 //公钥生成 //opensslrsa-inrsa_private_key.pem-pubout-outrsa_public_key.pem //加密 funcRsaEncrypt(origData[]byte,publicKey[]byte)([]byte,error){ //解密pem格式的公钥 block,_:=pem.Decode(publicKey) ifblock==nil{ returnnil,errors.New("publickeyerror") } //解析公钥 pubInterface,err:=x509.ParsePKIXPublicKey(block.Bytes) iferr!=nil{ returnnil,err } //类型断言 pub:=pubInterface.(*rsa.PublicKey) //加密 returnrsa.EncryptPKCS1v15(rand.Reader,pub,origData) } //解密 funcRsaDecrypt(ciphertext[]byte,privateKey[]byte)([]byte,error){ //解密 block,_:=pem.Decode(privateKey) ifblock==nil{ returnnil,errors.New("privatekeyerror!") } //解析PKCS1格式的私钥 priv,err:=x509.ParsePKCS1PrivateKey(block.Bytes) iferr!=nil{ returnnil,err } //解密 returnrsa.DecryptPKCS1v15(rand.Reader,priv,ciphertext) }

本文内容总结:golang加减密,

原文链接:https://www.cnblogs.com/tomtellyou/p/12769270.html