Skip to content

Instantly share code, notes, and snippets.

@jemsgit
Created July 13, 2023 08:30
Show Gist options
  • Select an option

  • Save jemsgit/0479bdf6e821499daf426dee8b02448c to your computer and use it in GitHub Desktop.

Select an option

Save jemsgit/0479bdf6e821499daf426dee8b02448c to your computer and use it in GitHub Desktop.
async function metakomToDallas(key) {
//key - ключ в формате FF 65 28 C0
async function callCRCService(key) {
let resp = await fetch('https://openapi.lddgo.net/base/gtool/api/v1/Crc?lang=en', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=utf-8'
},
body: JSON.stringify({algorithm: "crc8Maxim",
charset: "UTF-8",
contentType: "hex",
customCrcParameter: null,
inputContent: key.replace(/\s+/g, '')})
})
let result = await resp.json();
return result.data.hexResult;
}
let parts = key.split(/\s+/g);
const key1 = ['00', '00', ...parts, '01'];
const key2 = ['00', '00', ...parts.reverse(), '01'];
const key1String = key1.join(' ');
const key2String = key2.join(' ');
console.log('Key1 without first byte CRC8: ', key1String);
console.log('Key2 without first byte CRC8: ', key2String);
const reversedKey1String = key1.reverse().join(' ');
const reversedKey2String = key2.reverse().join(' ');
console.log('Key1 for paste to https://www.lddgo.net/en/encrypt/crc CRC8-MAXIM: ', reversedKey1String);
console.log('Key2 for paste to https://www.lddgo.net/en/encrypt/crc CRC8-MAXIM: ', reversedKey2String);
let crc1 = await callCRCService(reversedKey1String);
console.log('key1 dallas: ', `${crc1} ${key1String}`);
let crc2 = await callCRCService(reversedKey2String);
console.log('key2 dallas: ', `${crc2} ${key2String}`)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment