在 go 1.16.3 中,此函数“x509.DecryptPEMBlock”已弃用
来自go源码的评论
已弃用:RFC 1423 中指定的旧版 PEM 加密在设计上是不安全的。由于它不对密文进行身份验证,因此很容易受到填充预言机攻击,从而使攻击者可以恢复明文。
使用哪个函数或什么来代替“x509.DecryptPEMBlock”?
当按位不做时,得到很多 ffffffff。怎么做才正确?
space := " "
str := "12345678999298765432179.170.184.81"
sp := len(str) % 4
if sp > 0 {
str = str + space[0:4-sp]
}
fmt.Println(str, len(str))
hx := hex.EncodeToString([]byte(str))
ln := len(hx)
a, _ := strconv.ParseUint(hx[0:8], 16, 0)
for i := 8; i < ln; i += 8 {
b, _ := strconv.ParseUint(hx[i:i+8], 16, 0)
a = a ^ b
}
xh := strconv.FormatUint(^a, 16)
fmt.Println(xh)
Run Code Online (Sandbox Code Playgroud)
输出 ffffffffc7c7dbcb
我只需要 c7c7dbcb