jjzjj

secure_random

全部标签

security - 如何在 Golang 二进制文件中混淆变量、函数和包名称的字符串?

使用nmgo_binary命令时,发现变量名、函数名、包名甚至我的代码所在的目录都显示出来了,请问有什么办法可以混淆gobuild命令生成的二进制文件吗并防止gobinary被黑客利用? 最佳答案 Obfuscatingcan'tstopreverseengineeringbutinawaypreventinfoleakage这就是burrowers/garble(Go1.16+,2021年2月):Literalobfuscation使用-literals标志会导致文字表达式(例如字符串)被更复杂的变体替换,从而在运行时解析为相同的

security - 试图在 go 中打印一个大字符串

我正在尝试打印保存在数据库中的Java安全整数,这是一个示例:我有这个:salt:="fqm0vp02103inkmvb18cgqbv0s9v7o43o12hj0nhj9jqit8nh327re7iup2imdtedepch8alam8340u4rcd923g9nuubh3a4jbdonr67phej9fp9oitudnp3dabi09nr"fmt.Printf(salt)这是我得到的,但我需要数据库中的字符串:66716d3076703032313033696e6b6d76623138636771627630733976376f34336f3132686a306e686a396a71

java - 解码 ECDSA 失败,出现 : Exception in thread "main" java. security.SignatureException:错误解码签名字节

我正在尝试使用java验证ECDSA签名,key是使用golang创建的:import("crypto/ecdsa""crypto/elliptic""crypto/rand""crypto/x509""encoding/pem""fmt""io/ioutil""reflect")funcdoit(){privateKey,_:=ecdsa.GenerateKey(elliptic.P384(),rand.Reader)publicKey:=&privateKey.PublicKeyif!elliptic.P384().IsOnCurve(publicKey.X,publicKey.Y

random - crypto/rand read() 的两个返回值在什么情况下有用?

crypto/rand的典型用法是这样的:salt:=make([]byte,saltLength)n,err:=rand.Read(salt)它用一系列随机字节填充我在这里标记为“salt”的字节slice。在什么情况下随机数生成器可能会失败?在err不为零的情况下退回到数学/兰德等价物是否不安全?由于字节slice的长度是已知的,n对我来说似乎也没用,我有什么理由不直接使用_,err代替它吗? 最佳答案 为了安全起见,您的代码应该看起来更像这样:packagemainimport("crypto/rand""fmt")funcm

security - 如何让 Golang seed init 更强大

我会看到人们使用这种方法为Go生成随机种子初始化!funcinit(){rand.Seed(time.Now().UTC().UnixNano())}我100%确定这种方法不安全,猜测time.Now().UTC().UnixNano()是1000X>然后找到真正生成的随secret码有没有人有想法,我认为也调用windowsapi来生成随机种子是个好主意? 最佳答案 如果一开始安全很重要,那么您应该“放弃”math/rand并使用crypto/rand首先。如果安全性“不”重要,那么使用time.Now().UnixNano()播

security - 如何在 POST 方法中传递 header ?

这里我有一个函数,我在其中发送一个POST请求,该请求用于将客户保存在带有数据的广场中,并使用variable_name.Header.Set()设置带有身份验证的header但在bodyreact中,它总是会给我以下错误:-"errors":[{"category":"AUTHENTICATION_ERROR","code":"UNAUTHORIZED","detail":"Yourrequestdidnotincludean`Authorization`httpheaderwithanaccesstoken.}]}但是在函数中我设置了身份验证token。代码:-funcCreate

random - Go中如何生成固定长度的随机数?

在Go中生成定长随机数最快最简单的方法是什么?说要生成8位长数字,rand.Intn(100000000)的问题是结果可能远小于8位,用前导零填充它不会看起来对我来说是个不错的答案。也就是说,从长度的意义上讲,我更关心随机性的质量。所以我在想,对于这个特定的问题,以下是最快和最简单的方法吗?99999999-rand.Int63n(90000000)即,我想Int63n可能比Intn更适合我的情况。是真的,还是只是一厢情愿?关于全8位的随机性,两者是一样的,还是真的有优劣之分?最后,还有比上面更好的方法吗?更新:请不要提供low+rand(hi-low)作为答案,因为大家都知道。相当于

security - 带时间窗的 HMAC

我正在使用基于UTC+0同步时间的时间窗口机制对HMAC进行一些测试。服务器有一个特殊的公共(public)API调用http://myserver.com/api/servertime/,它将返回服务器的确切UTC+0时间。通过这种方式,API用户可以同步他们的请求客户端,以便它能够匹配我的API允许安全调用的时间窗口。我建立了一个30分钟的时间段(-15min-+15min)。我的代码是这样的:funcGenerateHmac512(message[]byte,key[]byte)[]byte{h:=hmac.New(sha512.New,key)h.Write(message)r

go random 生成器在一些调用后停止工作

我想要shuffledbid以便没有id引用它们自己,但是使用这段代码:packagemainimport("log""math/rand""time")funcmain(){seed:=time.Now().UnixNano()&999999999log.Print("seed:",seed)rand.Seed(seed)ordered:=[]int{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}randomized:=shufflePreventCollision(ordered)log.Print("FinalResult")

security - 如何使用 SOPS(Secrets OPerationS)和 Go 加密从 JSON 文件导入的值?

我有一个JSON文件,如下所示。secret.json:{"secret":"strongPassword"}我想打印出key“secret”的加密值。到目前为止,我已经尝试过如下。packagemainimport("encoding/json""fmt""io/ioutil""go.mozilla.org/sops")typesecretValuestruct{Valuestring`json:"secret"`}funcmain(){file,_:=ioutil.ReadFile("secret.json")getSecretValue:=secretValue{}_=json.