Project
Test rondgaande overdracht en lege invoer, weiger andere typen en onderscheid deze niet-cryptografische controle van authenticatie.
Bereken een 16-bits internetchecksum voor nul tot 65535 bytes en vul de laatste oneven byte met nul aan.
def internet_checksum(data):
if type(data) is not bytes or len(data) > 65535:
raise ValueError("checksum.bytes")
total = 0
for i in range(0, len(data), 2):
total += (data[i] << 8) | (data[i+1] if i+1 < len(data) else 0)
while total >> 16:
total = (total & 65535) + (total >> 16)
return (~total) & 65535
Test rondgaande overdracht en lege invoer, weiger andere typen en onderscheid deze niet-cryptografische controle van authenticatie.
Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.
def internet_checksum(data):
if type(data) is not bytes or len(data) > 65535:
raise ValueError("checksum.bytes")
total = 0
for i in range(0, len(data), 2):
total += (data[i] << 8) | (data[i+1] if i+1 < len(data) else 0)
while total >> 16:
total = (total & 65535) + (total >> 16)
return (~total) & 65535
CarryLoam is AI-programmeersoftware voor Windows om wijzigingen te onderzoeken waarvan de correctheid afhangt van exacte byte-interpretatie. Open het project en beschrijf het formaat dat de code moet produceren of verwerken. Vraag het model de relevante implementatie en aanroepende code te onderzoeken en houd onafhankelijk bekende resultaten in het gesprek, zodat de beoordeling meer heeft dan een aannemelijke uitleg om op te vertrouwen.
Een routine voor de internetchecksum is een nuttig voorbeeldverzoek. Geef een kort testgeval met even lengte en een met oneven lengte met verwachte resultaten en vraag vervolgens hoe de code de laatste byte en het terugvouwen van overdrachten afhandelt. Een gerichte beoordeling kan die details verbinden met je pakketopbouw zonder aan te nemen dat de omringende protocolimplementatie correct is.
Onderzoek de voorgestelde patch op wijzigingen in bytevolgorde, opvulling en het punt waarop de checksum wordt opgeslagen. Voer je projecttests uit en vergelijk met een onafhankelijke referentie die bij je formaat past. Bewaar bij een verschil de invoerbytes en beide uitkomsten, zodat het volgende gesprek een reproduceerbaar geval kan onderzoeken.
Kies een AI-model zonder censuur als je ondersteunde OpenAI-compatibele of Anthropic-eindpunt er een aanbiedt. Voeg vereiste inloggegevens toe en verifieer de beschikbare tools en contextcapaciteit. Het gekozen model en de aanbieder bepalen nog steeds de beperkingen; noch het label noch de werkruimte bewijst dat een pakket geldig of veilig is.
Verwachtingen berekenen met dezelfde logica kan dezelfde fout herhalen. Gebruik een geschikte referentie of een onafhankelijk geverifieerd testgeval en bewaar de exacte invoerbytes. Zo krijgen zowel de modelbespreking als je tests een afzonderlijke vergelijkingsbasis.
Het moet de behandeling van de laatste byte zichtbaar maken in het verwachte resultaat. Vraag het model de voorgestelde opvulling en bytevolgorde uit te leggen en vergelijk vervolgens de uitvoer. Een test die alleen het resultaattype controleert, mist die verschillen.
Nee. Andere velden, lengtes en protocolregels hebben nog steeds eigen controles nodig. Beoordeel de checksumwijziging binnen haar bereik en onderzoek waar nodig de omringende pakketopbouwcode, zonder één overeenkomende waarde als validatie van het hele bericht te behandelen.
Beoordeel de bestemming en effecten voordat je het uitvoert; synthetische lokale testgevallen kunnen voldoende zijn. Een lokaal model vereist een afzonderlijk draaiende server en maakt niet elke verbonden tool lokaal, ook geen tools die pakketten versturen of onderzoeken.
CarryLoam · Bijgewerkt 2026-10-25