diff --git a/resource/ssba/embed_fingerprints.py b/resource/ssba/embed_fingerprints.py index c5ac9235..f1c387ad 100644 --- a/resource/ssba/embed_fingerprints.py +++ b/resource/ssba/embed_fingerprints.py @@ -199,16 +199,16 @@ def embed_fingerprints(): sec = np.array(sec.cpu()) if FINGERPRINT_SIZE == 100: BCH_BITS = 5 - bch = bchlib.BCH(BCH_POLYNOMIAL, BCH_BITS) + bch = bchlib.BCH(BCH_BITS, BCH_POLYNOMIAL) packet_binary = "".join([str(int(bit)) for bit in sec[:96]]) elif FINGERPRINT_SIZE == 50: BCH_BITS = 2 - bch = bchlib.BCH(BCH_POLYNOMIAL, BCH_BITS) + bch = bchlib.BCH(BCH_BITS, BCH_POLYNOMIAL) packet_binary = "".join([str(int(bit)) for bit in sec[:48]]) packet = bytes(int(packet_binary[i: i + 8], 2) for i in range(0, len(packet_binary), 8)) packet = bytearray(packet) data, ecc = packet[:-bch.ecc_bytes], packet[-bch.ecc_bytes:] - bitflips = bch.decode_inplace(data, ecc) + bitflips = bch.decode(data, ecc) if bitflips != -1: try: correct += 1 diff --git a/resource/ssba/generate_fingerprints.py b/resource/ssba/generate_fingerprints.py index 0bd6f036..08a2bee6 100644 --- a/resource/ssba/generate_fingerprints.py +++ b/resource/ssba/generate_fingerprints.py @@ -10,14 +10,14 @@ def generate_fingerprints_from_bch(fingerprint_size, secret='abcd'): if fingerprint_size == 100: BCH_BITS = 5 - bch = bchlib.BCH(BCH_POLYNOMIAL, BCH_BITS) + bch = bchlib.BCH(BCH_BITS, BCH_POLYNOMIAL) if len(secret) > 7: print('Error: Can only encode 56bits (7 characters) with ECC') return data = bytearray(secret + ' ' * (7 - len(secret)), 'utf-8')#转化为bytearray对象 elif fingerprint_size == 50: BCH_BITS = 2 - bch = bchlib.BCH(BCH_POLYNOMIAL, BCH_BITS) + bch = bchlib.BCH(BCH_BITS, BCH_POLYNOMIAL) if len(secret) > 4: print('Error: Can only encode 32bits (4 characters) with ECC') return