| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import { HmacCipher } from '../src/utils/cipher/hmac'
- import { AESCipher } from '../src/utils/cipher/aes'
- import { getUTCFormatTime } from '../src/utils/time'
- const aesCipher = new AESCipher()
- const hmacCipher = new HmacCipher()
- const OperatorID = '730998640' // Requester ID
- const secret = {
- operatorSecret: 'qhtestOS73099864',
- dataSecret: 'qhtestDS73099864',
- dataSecretIV: 'qhtestIV73099864',
- sigSecret: 'qhtestSS73099864',
- }
- const data = {}
- let payload: any = {
- Data: data,
- OperatorID: OperatorID,
- Seq: '1'.padStart(4, '0'),
- TimeStamp: getUTCFormatTime(),
- }
- // Encrypt Data
- payload.Data = aesCipher.encrypt(
- JSON.stringify(payload.Data),
- secret.dataSecret,
- secret.dataSecretIV
- )
- // Sign Data
- payload.Sig = hmacCipher.hmacMD5Sign(
- payload.OperatorID + payload.Data + payload.TimeStamp + payload.Seq,
- secret.sigSecret
- )
- console.log(JSON.stringify(payload))
- const targetUrl =
- 'https://evtry.qihui.net/evnet/evcs/equipment/v1/query_stations_info'
- fetch(targetUrl, {
- body: JSON.stringify(payload),
- headers: {
- 'Content-Type': 'application/json',
- // Authorization: 'Bearer 795E8DD657220BE507A70F912D4D818',
- Authorization: 'Bearer 795E8DD657220BE507A70F912D4D818A',
- },
- method: 'POST',
- }).then(async (resp) => {
- const data = await resp.json()
- const decryptData = aesCipher.decrypt(
- data.Data,
- secret.dataSecret,
- secret.dataSecretIV
- // 'secret.dataSecretIV'
- )
- console.log('data:', data)
- console.log('-'.repeat(33))
- console.log('decryptData:', decryptData)
- // console.log('decryptData:', JSON.parse(decryptData))
- // console.log('decryptData:', !!JSON.parse(decryptData))
- // // Check Sig
- // const signature = hmacCipher.hmacMD5Sign(
- // data.Ret + data.Msg + data.Data,
- // secret.sigSecret
- // )
- // console.log('signature:', signature)
- // console.log('Is Sig Valid:', signature === data.Sig)
- // console.log('-'.repeat(33))
- })
|