1.基于幽灵蛛pholcus开源项目的规则

直接贴代码,代码可以更改后用于其他爬虫项目

 2.相关方法

//获取unix时间
func  getMillisecond() int64{
	MS := time.Now().UnixNano()/1000
	return MS
}

//用户名base64加密
func encryptUname(uname string) string {  // 获取username base64加密后的结果
	//println(base64.RawURLEncoding.EncodeToString([]byte(uname)))
	return base64.URLEncoding.EncodeToString([]byte(uname))
}

//密码加密
//把字符串转换bigint
func string2big(s string) *big.Int {
	ret := new(big.Int)
	ret.SetString(s, 16)  // 将字符串转换成16进制
	return ret
}

func encryptPassword(pubkey string,servertime string,nonce string, password string) string{
	pub := rsa.PublicKey{
		N: string2big(pubkey),
		E: 65537,                       // 10001是十六进制数,65537是它的十进制表示
	}

	// servertime、nonce之间加\t,然后在\n ,和password拼接
	encryString := servertime + "\t" + nonce + "\n" + password

	// 拼接字符串加密
	encryResult, _ := rsa.EncryptPKCS1v15(rand.Reader, &pub, []byte(encryString))
	return hex.EncodeToString(encryResult)
}