Acerca del campo sig de la interfaz SMS de Tencent Cloud, problema de cifrado sha256, nodejs
Sigue mi método de escritura a continuación: const?crypto?=?require('crypto');
function?sig()
{
var?strMobile?=?"Este es mi teléfono móvil";?//El contenido del campo móvil de tel
var?strAppKey?=?"Esta es mi clave";?/ La clave de aplicación correspondiente a /sdkappid debe ser mantenido altamente confidencial por la parte comercial
var?strRand?=?"7226249334";?//El valor del campo aleatorio en la URL
var?strTime?= ?"1457336869";?//marca de tiempo de Unix
var?buf?=?"appkey="+strAppKey+"&random="+strRand+"&time="
+strTime+" &mobile="+strMobile;
var?sig?=?crypto.createHash('sha256').update(buf,?'utf-8').digest('hex') ;
return?sig;
}
console.log(sig());
Los resultados de salida son los siguientes: 7b1e97051886abdbd66c684530db2ba01644f828f31e06d624d88aff5469faa0
La razón es que el documento enfatiza que la codificación debe usar utf-8, pero la codificación predeterminada de js no es esta, por lo que debe especificarse con fuerza.
Además, el resultado del cálculo de esta señal está relacionado con sus parámetros de salida y no es constante.
Además, tu móvil y la clave de la aplicación están todas en chino. Las oficiales parecen ser números y letras.