InglêsFrancêsEspanhol

Ad


favicon do OnWorks

cksumposix - Online na nuvem

Execute cksumposix no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando cksumposix que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


cksum - escreve somas de verificação e tamanhos de arquivo

SINOPSE


cksum [lima...]

DESCRIÇÃO


A cksum utilitário deve calcular e gravar na saída padrão uma verificação de redundância cíclica
(CRC) para cada arquivo de entrada, e também gravar na saída padrão o número de octetos em cada
Arquivo. O CRC usado é baseado no polinômio usado para verificação de erro CRC no
ISO / IEC 8802-3: padrão 1996 (Ethernet).

A codificação para a soma de verificação CRC é definida pelo polinômio gerador:

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

Matematicamente, o valor CRC correspondente a um determinado arquivo deve ser definido pelo
seguinte procedimento:

1. A n bits a serem avaliados são considerados os coeficientes de um polinômio mod 2
M(x) de grau n-1. Esses n bits são os bits do arquivo, com a maioria
bit significativo sendo o bit mais significativo do primeiro octeto do arquivo e o
último bit sendo o bit menos significativo do último octeto, preenchido com bits zero (se
necessário) para atingir um número inteiro de octetos, seguido por um ou mais octetos
representando o comprimento do arquivo como um valor binário, o octeto menos significativo primeiro.
Deve ser usado o menor número de octetos capaz de representar esse número inteiro.

2. M(x) é multiplicado por x32 (isto é, deslocado para a esquerda 32 bits) e dividido por G(x) usando
divisão mod 2, produzindo um resto R(x) de grau ≤ 31.

3. Os coeficientes de R(x) são considerados uma sequência de 32 bits.

4. A seqüência de bits é complementada e o resultado é o CRC.

OPÇÕES


Nenhum.

OPERANDOS


O seguinte operando deve ser suportado:

lima O nome do caminho de um arquivo a ser verificado. Se não lima operandos são especificados, o
entrada padrão deve ser usada.

STDIN


A entrada padrão deve ser usada se não lima operandos são especificados e devem ser usados ​​se um
lima operando é '-' e a implementação trata o '-' como significando entrada padrão.
Caso contrário, a entrada padrão não deve ser usada. Veja a seção ENTRADA DE ARQUIVOS.

INPUT ARQUIVOS


Os arquivos de entrada podem ser de qualquer tipo.

MEIO AMBIENTE VARIÁVEIS


As seguintes variáveis ​​de ambiente devem afetar a execução de cksum:

GRANDE Forneça um valor padrão para as variáveis ​​de internacionalização que não estão definidas ou
nulo. (Veja o volume de Definições de Base de POSIX.1‐2008, Seção 8.2,
Internacionalização Variáveis pela precedência de internacionalização
variáveis ​​usadas para determinar os valores das categorias de local.)

LC_ALL Se definido como um valor de string não vazio, substitui os valores de todos os outros
variáveis ​​de internacionalização.

LC_CTYPE Determine o local para a interpretação de sequências de bytes de dados de texto
como caracteres (por exemplo, caracteres de byte único em oposição a caracteres de bytes múltiplos em
argumentos).

LC_MESSAGES
Determine a localidade que deve ser usada para afetar o formato e o conteúdo do
mensagens de diagnóstico gravadas no erro padrão.

NLSPAT Determine a localização dos catálogos de mensagens para o processamento de LC_MESSAGES.

ASSÍNCRONO EVENTOS


Padrão.

STDOUT


Para cada arquivo processado com sucesso, o cksum utilitário deve escrever no seguinte
formato:

"%você %d % s \ n ", <checksum>,# of octetos>,pathname>

Se nenhum lima operando foi especificado, o nome do caminho e seu principal deve ser omitido.

STDERR


O erro padrão deve ser usado apenas para mensagens de diagnóstico.

SAÍDA ARQUIVOS


Nenhum.

ESTENDIDO DESCRIÇÃO


Nenhum.

SAIR STATUS


Os seguintes valores de saída devem ser retornados:

0 Todos os arquivos foram processados ​​com sucesso.

> 0 Ocorreu um erro.

CONSEQUÊNCIAS OF ERROS


Padrão.

A seguinte seções e guarante que os mesmos estão informativo.

APLICAÇÃO USO


A cksum utilitário é normalmente usado para comparar rapidamente um arquivo suspeito com um confiável
versão do mesmo, como para garantir que os arquivos transmitidos em mídia ruidosa cheguem
intacta. No entanto, essa comparação não pode ser considerada criptograficamente segura. o
as chances de um arquivo danificado produzir o mesmo CRC do original são pequenas; deliberar
enganar é difícil, mas provavelmente não impossível.

Embora os arquivos de entrada para cksum pode ser de qualquer tipo, os resultados não precisam ser o que seria
esperado em arquivos de dispositivos especiais de caracteres ou em tipos de arquivos não descritos pelo Sistema
Volume de interfaces de POSIX.1‐2008. Uma vez que este volume de POSIX.1‐2008 não especifica o
tamanho do bloco usado ao fazer a entrada, checksums de arquivos especiais de caracteres não precisam ser processados
todos os dados nesses arquivos.

O algoritmo é expresso em termos de um fluxo de bits dividido em octetos. Se um arquivo é
transmitido entre dois sistemas e sofre qualquer transformação de dados (como alteração
ordenação de bytes little-endian para big-endian), valores CRC idênticos não podem ser esperados.
Implementações que realizam tais transformações podem estender cksum para lidar com tal
situações.

EXEMPLOS


Nenhum.

JUSTIFICATIVA


O seguinte programa em linguagem C pode ser usado como um modelo para descrever o algoritmo. Isto
assume que um carbonizar é um octeto. Também assume que todo o arquivo está disponível para
uma passagem pela função. Isso foi feito para simplificar a demonstração do
algoritmo, em vez de um modelo de implementação.

estático não assinado longo 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, 0exec7dd02d, 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, 0x8cf30ruim, 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
};

memcrc longo sem sinal (const unsigned char * b, size_t n)
{
/ * Argumentos de entrada:
* const unsigned char * b == sequência de bytes para checksum
* size_t n == comprimento da sequência
*/

registrar size_t i;
registrar c sem sinal, s = 0;

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

/ * Estenda com o comprimento da corda. * /
enquanto (n! = 0) {
c = n & 0377;
n >> = 8;
s = (s << 8) ^ crctab [(s >> 24) ^ c];
}

return ~ s;
}

A prática histórica de escrever o número de `` blocos '' foi alterada para escrever
o número de octetos, já que este último não só é mais útil, mas também porque histórico
implementações não têm sido consistentes em definir o que significa um `` bloco ''.

O algoritmo utilizado foi selecionado para aumentar a robustez operacional do cksum. Nem
o System V nem o BSD soma algoritmo foi selecionado. Uma vez que cada um deles era diferente e
cada um era o comportamento padrão nesses sistemas, nenhum compromisso realista estava disponível se
ambos foram selecionados - algum conjunto de aplicativos históricos seria interrompido. Portanto, o nome
foi alterado para cksum. Embora o histórico soma os comandos provavelmente continuarão a ser
fornecidos por muitos anos, os programas projetados para portabilidade entre sistemas devem usar o
novo nome.

O algoritmo selecionado é baseado no usado pela norma ISO / IEC 8802-3: 1996
(Ethernet) para o campo de sequência de verificação de quadro. O algoritmo usado não corresponde ao
definição técnica de um checksum; o termo é usado por razões históricas. O comprimento do
o arquivo é incluído no cálculo CRC porque isso é paralelo à inclusão de um comprimento
campo por Ethernet em seu CRC, mas também porque protege contra colisões inadvertidas
entre arquivos que começam com diferentes séries de zero octetos. A chance de que dois
arquivos diferentes produzem CRCs idênticos é muito maior quando seus comprimentos não são
considerado. Manter o comprimento e a soma de verificação do próprio arquivo separados resultaria em um
algoritmo um pouco mais robusto, mas o uso histórico sempre foi que um único número
(a soma de verificação conforme impressa) representa a assinatura do arquivo. Foi decidido que
o uso histórico foi a consideração mais importante.

As primeiras propostas continham modificações no algoritmo Ethernet que envolviam a extração
valores da tabela sempre que um resultado intermediário tornou-se zero. Isso foi demonstrado ser menos
robusto do que o método atual e matematicamente difícil de descrever ou justificar.

O cálculo usado é idêntico ao fornecido no pseudo-código no Sarwate referenciado
artigo. A versão do pseudocódigo é:

X <− 0; Y <− 0;
para i <− m -1 passo -1 até 0 do
começar
T <− X(1) ^ A [i];
X(1) <− X(0); X(0) <− Y(1); Y(1) <− Y(0); Y(0) <− 0;
como: f [T] e f '[T] denotar que o T-ésima palavras in que o
mesa f e f' ;
X <− X ^ f [T]; Y <− Y ^ f '[T];
final

O pseudo-código é reproduzido exatamente como fornecido; no entanto, observe que, no caso de cksum,
A [i] representa um byte do arquivo, as palavras X e Y são tratados como um único de 32 bits
valor e as tabelas f e f' são uma única tabela contendo valores de 32 bits.

O artigo Sarwate referenciado também discute a geração da tabela.

FUTURO INSTRUÇÕES


Nenhum.

Use cksumposix online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    wxPython
    wxPython
    Um conjunto de módulos de extensão Python que
    envolva as classes GUI multiplataforma de
    wxWidgets.. Público: Desenvolvedores. Do utilizador
    interface: Sistema X Window (X11), Win32 ...
    Baixar wxPython
  • 2
    gerenciador de arquivos de pacote
    gerenciador de arquivos de pacote
    Este é o gerenciador de arquivos do pacote Total War
    projeto, a partir da versão 1.7. UMA
    breve introdução ao Warscape
    Modificação: ...
    Baixar packfilemanager
  • 3
    IPerf2
    IPerf2
    Uma ferramenta de tráfego de rede para medir
    Desempenho de TCP e UDP com métricas
    em torno da taxa de transferência e da latência. o
    objetivos incluem manter um ativo
    iperf cod ...
    Baixar IPerf2
  • 4
    fre: ac - conversor de áudio gratuito
    fre: ac - conversor de áudio gratuito
    fre:ac é um conversor de áudio e CD gratuito
    ripper para vários formatos e codificadores.
    Possui MP3, MP4/M4A, WMA, Ogg
    Formato Vorbis, FLAC, AAC e Bonk
    Apoio, suporte, ...
    Baixar fre:ac - conversor de áudio grátis
  • 5
    matplotlib
    matplotlib
    Matplotlib é uma biblioteca abrangente
    para criar estático, animado e
    visualizações interativas em Python.
    Matplotlib torna as coisas fáceis e fáceis e
    coisa difícil ...
    Baixar Matplotlib
  • 6
    Homem-Bot
    Homem-Bot
    Escreva sua lógica de chatbot uma vez e
    conecte-o a um dos disponíveis
    serviços de mensagens, incluindo Amazon
    Alexa, Messenger do Facebook, Slack,
    Telegram ou até mesmo você...
    Baixar BotMan
  • Mais "

Comandos Linux

Ad