EngelsFransSpaans

Ad


OnWorks-favicon

cksumposix - Online in de cloud

Voer cksumposix uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht cksumposix die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


cksum — schrijf bestandscontrolesommen en -groottes

KORTE INHOUD


cksum [filet...]

PRODUCTBESCHRIJVING


De cksum Het hulpprogramma berekent een cyclische redundantiecontrole en schrijft deze naar de standaarduitvoer
(CRC) voor elk invoerbestand, en schrijf ook naar de standaarduitvoer het aantal octetten in elk bestand
bestand. De gebruikte CRC is gebaseerd op de polynoom die wordt gebruikt voor CRC-foutcontrole in de
ISO/IEC 8802‐3:1996 standaard (Ethernet).

De codering voor de CRC-controlesom wordt gedefinieerd door de genererende polynoom:

G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1

Wiskundig gezien wordt de CRC-waarde die overeenkomt met een bepaald bestand gedefinieerd door de
volgende procedure:

1. De n de te evalueren bits worden beschouwd als de coëfficiënten van een mod 2-polynoom
M(x) van graad n−1. Deze n bits zijn de bits uit het bestand, met de meeste
significante bit is de meest significante bit van het eerste octet van het bestand en de
laatste bit is het minst significante bit van het laatste octet, opgevuld met nul bits (if
nodig) om een ​​geheel aantal octetten te bereiken, gevolgd door een of meer octetten
die de lengte van het bestand vertegenwoordigt als een binaire waarde, met het minst significante octet eerst.
Er moet gebruik worden gemaakt van het kleinste aantal octetten dat dit gehele getal kan weergeven.

2. M(x) wordt vermenigvuldigd met x32 (dat wil zeggen, 32 bits naar links verschoven) en gedeeld door G(x) gebruik makend van
mod 2 divisie, wat een rest oplevert R(x) van graad ≤ 31.

3. De coëfficiënten van R(x) worden beschouwd als een reeks van 32 bits.

4. De bitreeks wordt aangevuld en het resultaat is de CRC.

OPTIES


Geen.

OPERANDEN


De volgende operand wordt ondersteund:

filet Een padnaam van een bestand dat moet worden gecontroleerd. Als Nee filet operanden zijn gespecificeerd, de
standaardinvoer wordt gebruikt.

STDIN


De standaardinvoer wordt gebruikt indien nee filet operanden zijn gespecificeerd en worden gebruikt als a
filet operand is '−' en de implementatie behandelt de '−' als standaardinvoer.
Anders wordt de standaardinvoer niet gebruikt. Zie de sectie INVOERBESTANDEN.

INVOER FILES


De invoerbestanden kunnen elk bestandstype zijn.

MILIEU VARIABELEN


De volgende omgevingsvariabelen zijn van invloed op de uitvoering van: cksum:

TAAL Geef een standaardwaarde op voor de internationaliseringsvariabelen die niet zijn ingesteld of
nul. (Zie het volume Basisdefinities van POSIX.1‐2008, sectie 8.2,
internationalisering Variabelen voor de prioriteit van internationalisering
variabelen die worden gebruikt om de waarden van landinstellingen te bepalen.)

LC_ALL Indien ingesteld op een niet-lege tekenreekswaarde, overschrijf dan de waarden van alle andere
internationaliseringsvariabelen.

LC_CTYPE Bepaal de landinstelling voor de interpretatie van reeksen bytes tekstgegevens
als tekens (bijvoorbeeld single-byte in plaats van multi-byte tekens in
argumenten).

LC_MESSAGES
Bepaal de landinstelling die moet worden gebruikt om het formaat en de inhoud van te beïnvloeden
diagnostische berichten geschreven naar standaardfout.

NLSPAT Bepaal de locatie van berichtencatalogi voor de verwerking van: LC_MESSAGES.

ASYNCHROON EVENEMENTEN


Standaard.

STDOUT


Voor elk succesvol verwerkt bestand wordt de cksum utility zal het volgende schrijven
formaat:

"%u %d %s\n", <checksum>,# of octetten>,padnaam>

Zo nee filet operand is opgegeven, de padnaam en de leidende waarde ervan zal worden weggelaten.

STDERR


De standaardfout wordt alleen gebruikt voor diagnostische berichten.

OUTPUT FILES


Geen.

UITGEBREID PRODUCTBESCHRIJVING


Geen.

EXIT STATUS


De volgende exit-waarden worden geretourneerd:

0 Alle bestanden zijn succesvol verwerkt.

>0 Er is een fout opgetreden.

GEVOLGEN OF FOUTEN


Standaard.

De volgend secties zijn informatief.

TOEPASSING GEBRUIK


De cksum Het hulpprogramma wordt doorgaans gebruikt om snel een verdacht bestand te vergelijken met een vertrouwd bestand
versie ervan, om ervoor te zorgen dat bestanden die via luidruchtige media worden verzonden, aankomen
intact. Deze vergelijking kan echter niet als cryptografisch veilig worden beschouwd. De
de kans dat een beschadigd bestand dezelfde CRC produceert als het origineel is klein; opzettelijk
bedrog is moeilijk, maar waarschijnlijk niet onmogelijk.

Hoewel invoerbestanden naar cksum kan elk type zijn, de resultaten hoeven niet te zijn wat ze zouden zijn
verwacht op character special device-bestanden of op bestandstypen die niet door het systeem worden beschreven
Interfaces volume van POSIX.1-2008. Aangezien dit deel van POSIX.1-2008 niet de
blokgrootte gebruikt bij het invoeren, controlesommen van speciale tekenbestanden hoeven niet te worden verwerkt
alle gegevens in die bestanden.

Het algoritme wordt uitgedrukt in termen van een bitstroom verdeeld in octetten. Als een bestand
verzonden tussen twee systemen en ondergaat elke gegevenstransformatie (zoals het wijzigen van gegevens).
byte-ordening van little-endian naar big-endian), er kunnen geen identieke CRC-waarden worden verwacht.
Implementaties die dergelijke transformaties uitvoeren, kunnen zich uitbreiden cksum zulke te behandelen
situaties.

Voorbeelden


Geen.

BEWEEGREDENEN


Het volgende C-taalprogramma kan als model worden gebruikt om het algoritme te beschrijven. Het
gaat ervan uit dat een verkolen is één octet. Er wordt ook van uitgegaan dat het volledige bestand beschikbaar is voor
één doorgang door de functie. Dit werd gedaan voor de eenvoud bij het demonstreren van de
algoritme, in plaats van als een implementatiemodel.

statisch Ongesigneerd lang crctab[] = {
0x00000000,
0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476dc, 0x17c56b6b,
0x1a864db2, 0x1e475005, 0x2608edb8, 0x22c9f00f, 0x2f8ad6d6,
0x2b4bcb61, 0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384fbdbd,
0x4c11db70, 0x48d0c6c7, 0x4593e01e, 0x4152fda9, 0x5f15adac,
0x5bd4b01b, 0x569796c2, 0x52568b75, 0x6a1936c8, 0x6ed82b7f,
0x639b0da6, 0x675a1011, 0x791d4014, 0x7ddc5da3, 0x709f7b7a,
0x745e66cd, 0x9823b6e0, 0x9ce2ab57, 0x91a18d8e, 0x95609039,
0x8b27c03c, 0x8fe6dd8b, 0x82a5fb52, 0x8664e6e5, 0xbe2b5b58,
0xbaea46ef, 0xb7a96036, 0xb3687d81, 0xad2f2d84, 0xa9ee3033,
0xa4ad16ea, 0xa06c0b5d, 0xd4326d90, 0xd0f37027, 0xddb056fe,
0xd9714b49, 0xc7361b4c, 0xc3f706fb, 0xceb42022, 0xca753d95,
0xf23a8028, 0xf6fb9d9f, 0xfbb8bb46, 0xff79a6f1, 0xe13ef6f4,
0xe5ffeb43, 0xe8bccd9a, 0xec7dd02d, 0x34867077, 0x30476dc0,
0x3d044b19, 0x39c556ae, 0x278206ab, 0x23431b1c, 0x2e003dc5,
0x2ac12072, 0x128e9dcf, 0x164f8078, 0x1b0ca6a1, 0x1fcdbb16,
0x018aeb13, 0x054bf6a4, 0x0808d07d, 0x0cc9cdca, 0x7897ab07,
0x7c56b6b0, 0x71159069, 0x75d48dde, 0x6b93dddb, 0x6f52c06c,
0x6211e6b5, 0x66d0fb02, 0x5e9f46bf, 0x5a5e5b08, 0x571d7dd1,
0x53dc6066, 0x4d9b3063, 0x495a2dd4, 0x44190b0d, 0x40d816ba,
0xaca5c697, 0xa864db20, 0xa527fdf9, 0xa1e6e04e, 0xbfa1b04b,
0xbb60adfc, 0xb6238b25, 0xb2e29692, 0x8aad2b2f, 0x8e6c3698,
0x832f1041, 0x87ee0df6, 0x99a95df3, 0x9d684044, 0x902b669d,
0x94ea7b2a, 0xe0b41de7, 0xe4750050, 0xe9362689, 0xedf73b3e,
0xf3b06b3b, 0xf771768c, 0xfa325055, 0xfef34de2, 0xc6bcf05f,
0xc27dede8, 0xcf3ecb31, 0xcbffd686, 0xd5b88683, 0xd1799b34,
0xdc3abded, 0xd8fba05a, 0x690ce0ee, 0x6dcdfd59, 0x608edb80,
0x644fc637, 0x7a089632, 0x7ec98b85, 0x738aad5c, 0x774bb0eb,
0x4f040d56, 0x4bc510e1, 0x46863638, 0x42472b8f, 0x5c007b8a,
0x58c1663d, 0x558240e4, 0x51435d53, 0x251d3b9e, 0x21dc2629,
0x2c9f00f0, 0x285e1d47, 0x36194d42, 0x32d850f5, 0x3f9b762c,
0x3b5a6b9b, 0x0315d626, 0x07d4cb91, 0x0a97ed48, 0x0e56f0ff,
0x1011a0fa, 0x14d0bd4d, 0x19939b94, 0x1d528623, 0xf12f560e,
0xf5ee4bb9, 0xf8ad6d60, 0xfc6c70d7, 0xe22b20d2, 0xe6ea3d65,
0xeba91bbc, 0xef68060b, 0xd727bbb6, 0xd3e6a601, 0xdea580d8,
0xda649d6f, 0xc423cd6a, 0xc0e2d0dd, 0xcda1f604, 0xc960ebb3,
0xbd3e8d7e, 0xb9ff90c9, 0xb4bcb610, 0xb07daba7, 0xae3afba2,
0xaafbe615, 0xa7b8c0cc, 0xa379dd7b, 0x9b3660c6, 0x9ff77d71,
0x92b45ba8, 0x9675461f, 0x8832161a, 0x8cf30bad, 0x81b02d74,
0x857130c3, 0x5d8a9099, 0x594b8d2e, 0x5408abf7, 0x50c9b640,
0x4e8ee645, 0x4a4ffbf2, 0x470cdd2b, 0x43cdc09c, 0x7b827d21,
0x7f436096, 0x7200464f, 0x76c15bf8, 0x68860bfd, 0x6c47164a,
0x61043093, 0x65c52d24, 0x119b4be9, 0x155a565e, 0x18197087,
0x1cd86d30, 0x029f3d35, 0x065e2082, 0x0b1d065b, 0x0fdc1bec,
0x3793a651, 0x3352bbe6, 0x3e119d3f, 0x3ad08088, 0x2497d08d,
0x2056cd3a, 0x2d15ebe3, 0x29d4f654, 0xc5a92679, 0xc1683bce,
0xcc2b1d17, 0xc8ea00a0, 0xd6ad50a5, 0xd26c4d12, 0xdf2f6bcb,
0xdbee767c, 0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18,
0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4, 0x89b8fd09,
0x8d79e0be, 0x803ac667, 0x84fbdbd0, 0x9abc8bd5, 0x9e7d9662,
0x933eb0bb, 0x97ffad0c, 0xafb010b1, 0xab710d06, 0xa6322bdf,
0xa2f33668, 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4
};

niet-ondertekende lange memcrc(const niet-ondertekende char *b, size_t n)
{
/* Invoerargumenten:
* const unsigned char* b == bytevolgorde tot controlesom
* size_t n == lengte van de reeks
*/

registreer size_t i;
register ongetekend c, s = 0;

voor (i = n; ik > 0; −−i) {
c = *b++;
s = (s << 8) ^ crctab[(s >> 24) ^ c];
}

/* Uitbreiden met de lengte van de string. */
terwijl (n!= 0) {
c = n & 0377;
n >>= 8;
s = (s << 8) ^ crctab[(s >> 24) ^ c];
}

retourneer ~'s;
}

De historische praktijk van het schrijven van het aantal ‘blokken’ is veranderd in schrijven
het aantal octetten, aangezien dit laatste niet alleen nuttiger is, maar ook historisch
implementaties zijn niet consistent geweest in het definiëren van wat een ``blok'' betekende.

Het gebruikte algoritme is geselecteerd om de operationele robuustheid van te vergroten cksum. Geen van beide
het System V noch BSD som algoritme werd geselecteerd. Omdat elk van deze anders was en
elk was het standaardgedrag op die systemen, er was geen realistisch compromis mogelijk
beide werden geselecteerd: een reeks historische toepassingen zou kapot gaan. Daarom de naam
werd veranderd in cksum. Hoewel de historische som commando's zullen dat waarschijnlijk blijven
programma's die al vele jaren worden aangeboden en die zijn ontworpen voor portabiliteit tussen systemen, zouden de
nieuwe naam.

Het geselecteerde algoritme is gebaseerd op het algoritme dat wordt gebruikt in de ISO/IEC 8802-3:1996-norm
(Ethernet) voor het framecontrolereeksveld. Het gebruikte algoritme komt niet overeen met de
technische definitie van een checksum; de term wordt om historische redenen gebruikt. De lengte van
het bestand wordt meegenomen in de CRC-berekening omdat dit parallel loopt met het opnemen van een lengte
veld door Ethernet in zijn CRC, maar ook omdat het beschermt tegen onbedoelde botsingen
tussen bestanden die beginnen met verschillende reeksen nul-octetten. De kans dat twee
verschillende bestanden identieke CRC's opleveren, is veel groter als hun lengte niet hetzelfde is
beschouwd. Het gescheiden houden van de lengte en de controlesom van het bestand zelf zou a opleveren
iets robuuster algoritme, maar historisch gebruik is altijd dat ene getal geweest
(de controlesom zoals afgedrukt) vertegenwoordigt de handtekening van het bestand. Dat werd besloten
historisch gebruik was de belangrijkste overweging.

Vroege voorstellen bevatten wijzigingen in het Ethernet-algoritme die extractie met zich meebrachten
tabelwaarden wanneer een tussenresultaat nul werd. Dit bleek minder te zijn
robuuster dan de huidige methode en wiskundig moeilijk te beschrijven of te rechtvaardigen.

De gebruikte berekening is identiek aan die gegeven in de pseudocode in de Sarwate waarnaar wordt verwezen
artikel. De pseudo-codeweergave is:

X <− 0; Y <− 0;
For i <− m -1 stap -1 tot 0 do
beginnen
T <− X(1) ^ EEN[ik];
X(1) <− X(0); X(0) <− Y(1); Y(1) <− Y(0); Y(0) <− 0;
hoe: f[T] en f'[T] duiden de T-de woorden in de
tafel f en f' ;
X <− X ^ f[T]; Y <− Y ^ f'[T];
einde

De pseudocode wordt precies weergegeven zoals aangegeven; Houd er echter rekening mee dat in het geval van cksum,
EEN[ik] vertegenwoordigt een byte van het bestand, de woorden X en Y worden behandeld als een enkele 32-bits
waarde en de tabellen f en f' zijn een enkele tabel met 32-bits waarden.

Het Sarwate-artikel waarnaar wordt verwezen, bespreekt ook het genereren van de tabel.

TOEKOMST ROUTEBESCHRIJVING


Geen.

Gebruik cksumposix online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

  • 1
    wxPython
    wxPython
    Een set Python-uitbreidingsmodules die
    verpak de platformonafhankelijke GUI-klassen van
    wxWidgets.. Publiek: Ontwikkelaars. Gebruiker
    interface: X Window-systeem (X11), Win32 ...
    WxPython downloaden
  • 2
    packfilemanager
    packfilemanager
    Dit is de bestandsbeheerder van het Total War-pakket
    project, vanaf versie 1.7. EEN
    korte introductie in Warscape
    modificatie: ...
    Packfilemanager downloaden
  • 3
    IPerf2
    IPerf2
    Een tool voor netwerkverkeer om te meten
    TCP- en UDP-prestaties met metrische gegevens
    rond zowel doorvoer als latentie. De
    doelen zijn onder meer het onderhouden van een actieve
    iperf kabeljauw...
    IPerf2 downloaden
  • 4
    fre:ac - gratis audio-omzetter
    fre:ac - gratis audio-omzetter
    fre:ac is een gratis audio-omzetter en cd
    ripper voor verschillende formaten en encoders.
    Het beschikt over MP3, MP4/M4A, WMA, Ogg
    Vorbis-, FLAC-, AAC- en Bonk-indeling
    steun, ...
    Download fre:ac - gratis audio-omzetter
  • 5
    matplotlib
    matplotlib
    Matplotlib is een uitgebreide bibliotheek
    voor het maken van statische, geanimeerde en
    interactieve visualisaties in Python.
    Matplotlib maakt gemakkelijke dingen gemakkelijk en
    moeilijk ding...
    Matplotlib downloaden
  • 6
    Botman
    Botman
    Schrijf uw chatbot-logica een keer en
    sluit het aan op een van de beschikbare
    berichtenservices, waaronder Amazon
    Alexa, Facebook Messenger, Slack,
    Telegram of zelfs jij...
    Botman downloaden
  • Meer "

Linux-commando's

Ad