当前位置: 首页 > wzjs >正文

怎么让织梦网站适合手机wordpress 文章id更改

怎么让织梦网站适合手机,wordpress 文章id更改,专业软件网站建设,没学过计算机开始学做网站随着网络游戏防沉迷系统的接入,实名认证验证也是一个必不可少的部分,网上有第三方的实名认证但基本上都收费,国家新闻出版署提供了免费的接口,不过需要自己去提交申请,获取应用标识 (APPID)、应用密钥 (Secret Key)、业…

随着网络游戏防沉迷系统的接入,实名认证验证也是一个必不可少的部分,网上有第三方的实名认证但基本上都收费,国家新闻出版署提供了免费的接口,不过需要自己去提交申请,获取应用标识 (APPID)应用密钥 (Secret Key)业务权限标识(BizId),并将请求服务器的IP设为白名单后,就可以调用https:// api.wlc.nppa.gov.cn/idcard/authentication/check接口来获取实名认真了。

这个接口中请求体body使用了AES-128/GCM + BASE64算法加密,签名使用了sha256。直接上完整的代码

import ("bytes""crypto/aes""crypto/cipher""crypto/rand""crypto/sha256""encoding/base64""encoding/hex""encoding/json""fmt""io""io/ioutil""net/http""sort""strconv""time"
)// 国家新闻出版署配置信息
type nppaInfo struct {AppId     string // 应用标识SecretKey string // 应用密钥BizId     string // 业务权限标识
}var nppa nppaInfo// 输入国家新闻出版署配置信息
func NppaInit(appId, secretKey, bizId string) {nppa = nppaInfo{AppId:     appId,SecretKey: secretKey,BizId:     bizId,}
}// 实名验证
// ai 	- 游戏内部成员标识,固定32位字符,一般使用 md5(用户ID)
// name - 实名信息中的姓名
// id 	- 实名信息中身份证号码
// 返回
// 		- result 是否验证成功
// 		- errcode 状态码
// 		- errmsg 状态描述
func NppaCheck(ai, name, id string) (result bool, errcode int, errmsg string ) {client := &http.Client{}// body 参数param := map[string]string{"ai":    ai,"name":  name,"idNum": id,}// AES-128/GCM + BASE64算法加密jsonParam, _ := json.Marshal(param)cipher, _ := gcmEncrypt(string(jsonParam))body, _ := json.Marshal(map[string]string{"data": cipher,})// post请求地址req, _ := http.NewRequest("POST", "https://api.wlc.nppa.gov.cn/idcard/authentication/check", bytes.NewReader(body))// header头验证信息headers := map[string]string{"appId":      nppa.AppId,"bizId":      nppa.BizId,"timestamps": strconv.FormatInt(time.Now().UnixNano()/1e6, 10),}// 签名headers["sign"] = sign(headers, string(body))headers["Content-Type"] = "application/json;charset=utf-8"for k, v := range headers {req.Header.Set(k, v)}// 请求resp, err := client.Do(req)if err != nil {return false, -1, "Http请求错误"}defer resp.Body.Close()if resp.StatusCode != 200 {return false, resp.StatusCode, "Http请求返回码错误"}str, err := ioutil.ReadAll(resp.Body)if err != nil {return false, -2, "Http请求返回数据为空"}var msg map[string]interface{}err = json.Unmarshal(str, &msg)if err != nil {return false, -3, "Http请求返回数据格式错误"}ec, ok := msg["errcode"]if !ok {return false, -3, "Http请求返回数据格式错误"}errcode = int(ec.(float64))if errcode != 0 {errmsg, _:= msg["errmsg"]return false, errcode, errmsg.(string)}data, ok := msg["data"]if !ok {return false, -3, "Http请求返回数据格式错误"}r, ok := data.(map[string]interface{})["result"]if !ok {return false, -3, "Http请求返回数据格式错误"}status, ok := r.(map[string]interface{})["status"]if !ok {return false, -3, "Http请求返回数据格式错误"}errcode = int(status.(float64))if errcode == 0{return true, 0, "认证成功"} else if errcode == 1 {return false, errcode, "认证中"}else {return false, errcode, "认证失败"}
}func gcmEncrypt(originalText string) (string, error) {// 需要解码key, _ := hex.DecodeString(nppa.SecretKey)block, err := aes.NewCipher(key)if err != nil {return "", err}aesGcm, err := cipher.NewGCM(block)if err != nil {return "", err}// 向量nonce := make([]byte, aesGcm.NonceSize())if _, err := io.ReadFull(rand.Reader, nonce); err != nil {return "", err}cipherText := aesGcm.Seal(nonce, nonce, []byte(originalText), nil)// encode as base64 stringencoded := base64.StdEncoding.EncodeToString(cipherText)return encoded, nil
}func sign(headers map[string]string, body string) string {var data stringvar keys []string// key排序for k := range headers {keys = append(keys, k)}sort.Strings(keys)// 拼接for _, k := range keys {data = data + k + headers[k]}data = nppa.SecretKey + data + body// 对字符串进行sha256哈希h := sha256.New()h.Write([]byte(data))sum := h.Sum(nil)return hex.EncodeToString(sum)
}

调用

func main() {// 初始化NppaInit("test-appId","2836e95fcd10e04b0069bb1ee659955b","test-bizId")// 使用userId := "123456"name := "岑吾"id := "xxxxxxxxxxxxxxxxxx"h := md5.New()h.Write([]byte(userId))ok,code,msg := NppaCheck(hex.EncodeToString(h.Sum(nil)), name, id)fmt.Println(ok,code,msg)
}

详细返回参数可见网络游戏防沉迷实名认证系统


文章转载自:

http://5303xIj5.kzxLc.cn
http://UAwSQqGP.kzxLc.cn
http://2DysfPSn.kzxLc.cn
http://bd0wkZtO.kzxLc.cn
http://6YTahpaE.kzxLc.cn
http://QgFd3dac.kzxLc.cn
http://WJp5mqYv.kzxLc.cn
http://qBIJ7ged.kzxLc.cn
http://MfiAy9Vk.kzxLc.cn
http://flNPux5z.kzxLc.cn
http://8QOgPDfq.kzxLc.cn
http://ZlbJSiDY.kzxLc.cn
http://T3IIu4Pc.kzxLc.cn
http://H7X7A1NZ.kzxLc.cn
http://hTSNO7Pe.kzxLc.cn
http://9FeFLCrc.kzxLc.cn
http://2bpc9gBK.kzxLc.cn
http://NqikYj6e.kzxLc.cn
http://N04hLJRc.kzxLc.cn
http://UirRJKyS.kzxLc.cn
http://U5x8h1LD.kzxLc.cn
http://LTKcnQfD.kzxLc.cn
http://M98f2qrc.kzxLc.cn
http://I37pWpuE.kzxLc.cn
http://l92NogEf.kzxLc.cn
http://fK2aKyLg.kzxLc.cn
http://5lco12Nl.kzxLc.cn
http://VoZoSSHx.kzxLc.cn
http://E1Dw8vam.kzxLc.cn
http://NFwFV84m.kzxLc.cn
http://www.dtcms.com/wzjs/635784.html

相关文章:

  • 网站开发需要什么专业的人才网络工程属于什么大类
  • 站长做什么网站赚钱wordpress二级域名做站群
  • 温州网站建设方案外包mvc网站建设设计报告
  • 肇庆建设网站网站建设中 html 下载
  • 网站建设细节国内好的网站设计
  • 城建道桥建设集团网站wordpress ajax 提交表单
  • 那个网站报道过鸟巢建设网站建设与管理的策划书
  • 太原seo网站建设网站建设都有什么技术支持
  • 直接用ip做网站农村住宅设计图集
  • 遵义做网站推广网站建设内部流程图
  • 腾讯 网站建设简单大方的网站
  • 廊坊做网站多少钱德州网站建设 绮畅
  • 八方资源网做网站优化怎么样企业邮箱怎么改密码
  • 学习php网站建设杭州软件开发培训机构
  • 网站加载慢图片做延时加载有用信息公司网站建设方案 游戏
  • 浦口区网站建设技术指导如何做网站seo排名优化
  • 什么是电子商务网站建设与管理小程序开发制作公司哪家好
  • 网站开发进度山东省住房和建设网站首页
  • 自己建站网站我看别人做系统就直接网站下载
  • 平面设计网站制作正品查询网站怎么做
  • 莱芜网站建设怎样添加网站上百度商桥代码
  • 网站屏蔽中文浏览器黄岩做网站公司电话
  • 建设银行网银网站无法访问此网站服务器不在国内维护
  • 织梦摄影网站模板小红书推广在哪里
  • 沈阳优化网站公司专业团队打造专业品质
  • 百度收录网站但首页快照不更新做毕业网站的流程
  • 如何建设网站兴田德润在那里WordPress热门排行榜插件
  • 服务器怎么建网站哈尔滨学校网站建设
  • 企业做网站的凭证怎么做优猫券网站怎么做
  • 网站ip过万wordpress微博图床插件