数组中的每个数字拆解为二进制做异或,获得校验码

This commit is contained in:
WindowBird 2025-11-20 15:05:52 +08:00
parent b0a18ddd3b
commit 50f7b329ab

View File

@ -683,9 +683,18 @@ export default {
//
// NFC
cardNo = bytes.join("").toUpperCase();
const baseCardNo = bytes.join("").toUpperCase();
console.log("转换后的卡号(十进制字符串):", cardNo);
//
const checksum = bytes.reduce((acc, curr) => acc ^ curr, 0);
const checksumBinary = checksum.toString(2).padStart(8, "0");
cardNo = `${baseCardNo}${checksum}`;
console.log("转换后的卡号(十进制字符串+校验):", cardNo);
console.log("基础卡号部分:", baseCardNo);
console.log("校验码(二进制):", checksumBinary);
console.log("校验码(十进制):", checksum);
console.log("卡号长度:", cardNo.length, "字符");
console.log("========================");
} else if (typeof res.id === "string") {