Descifrado del front-end del subprograma WeChat para obtener el número de teléfono móvil

La forma segura y correcta para que el subprograma WeChat obtenga el número de teléfono móvil del usuario es pasar el iv obtenido y otra información al backend, dejar que el backend lo descifre y luego proporcionar una interfaz para volver al frontend.

Pero si encuentra un backend más general o un backend perezoso, el frontend también puede intentar completar el descifrado del número de teléfono usted mismo.

1. Use el botón de componente de número de teléfono móvil autorizado

<view class="button">
      
      <button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号</button>
    </view>

2. Descargue el archivo descifrado RdWXBizDataCrypt

https://download.csdn.net/download/qq_35946021/87123755  descarga gratuita

3. Haga referencia al archivo donde necesita ser descifrado

       var WXBizDataCrypt = require('../../utils/RdWXBizDataCrypt');

4. Use primero la interfaz de inicio de sesión y luego obtenga la session_key proporcionada por el backend

login(){
    wx.login({
      success: (res) => {
       console.log(res)
        api.getOpenidAction({
          js_code:res.code
        }).then(re=>{
          console.log(re)
          this.setData({
            openid:re.Data.openid,
            code:res.code,
            session_key:re.Data.session_key
          })

        })
      }
    })
  },

5. Luego use el componente de número de teléfono móvil para pasar los datos cifrados y el valor iv del parámetro

clave:

        nuevo un objeto WXBizDataCrypt, pase APPID y session_key

        Luego use el método de descifrado decryptData, pase los parámetros encryptedData y iv

 getPhoneNumber (e) {
    console.log(e.detail.errMsg)
    console.log(e.detail.iv)
    console.log(e)
     
      var pc = new WXBizDataCrypt("wxexxxxxxxxxxxxx6", this.data.session_key)  
      var data = pc.decryptData(e.detail.encryptedData , e.detail.iv)
      console.log('解密后 data: ', data)
     
 
    
  },

La consola imprime los datos cifrados y se pueden utilizar

Supongo que te gusta

Origin blog.csdn.net/qq_35946021/article/details/127995447
Recomendado
Clasificación