Tencent Cloud SMS 인터페이스의 sig 필드 정보, sha256 암호화 문제, nodejs
아래 작성 방법을 따르세요: const?crypto?=?require('crypto');
function?sig()
{
var?strMobile?=?"이것은 내 휴대폰입니다";?//전화 모바일 필드의 내용
var?strAppKey?=?"이것은 내 키입니다";?/ 앱키 /sdkappid에 해당하는 항목은 비즈니스 당사자에 의해 극비로 유지되어야 합니다
var?strRand?=?"7226249334";?//url의 임의 필드 값
var?strTime?= ?"1457336869";?//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());
출력 결과는 다음과 같습니다. 7b1e97051886abdbd66c684530db2ba01644f828f31e06d624d88aff5469faa0
이유는 문서에서는 인코딩은 utf-8을 사용해야 한다고 강조하고 있는데 js의 기본 인코딩은 이것이 아니기 때문에 강제로 지정해야 하기 때문입니다.
또한 이 시그니처의 계산 결과는 출력 매개변수와 관련되어 있으며 일정하지 않습니다.
그리고 모바일과 앱키도 모두 중국어로 되어있는 것 같아요.