InglêsFrancêsEspanhol

Ad


favicon do OnWorks

hashcash - Online na nuvem

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

Este é o comando hashcash 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 Windows online ou emulador MAC OS online

PROGRAMA:

NOME


hashcash - ferramenta de contra-medida de hashcash anti-spam / negação de serviço

SINOPSE


hortelã (crio) selos:

Hashcash -m [[ opções ] [ recurso ...] ...]

Verifique selos:

Hashcash -c [[ opções ] -r recurso ...] [ carimbo ...]

Velocidade estimativas:

Hashcash -s [ opções ] [ -b pedaços ]

Purga base de dados:

Hashcash -p agora [ -j recurso ] [ -k ] [ -t tempo ] [ -u ]

Contar colisão pedaços:

Hashcash -w [ opções ] [ carimbo ...]

Get recurso nome:

Hashcash -n [ opções ] [ carimbo ...]

Get tempo remanescente até termo

Hashcash -l [ opções ] -e significativo [ carimbo ...]

DESCRIÇÃO


Hashcash é uma ferramenta de contador de negação de serviço. Seu principal uso atual é ajudar
Os usuários de hashcash evitam perder e-mail devido ao anti-spam baseado em conteúdo e lista negra
sistemas.

A ferramenta hashcash permite que você crie carimbos hashcash para anexar aos e-mails que você envia, e
para verificar os carimbos hashcash anexados aos e-mails que você recebe. Remetentes de e-mail anexam hashcash
carimbos com o cabeçalho X-Hashcash :. Fornecedores e autores de ferramentas anti-spam são incentivados
para isentar e-mails enviados com hashcash de suas listas negras e regras de filtragem com base em conteúdo.

Um selo hashcash constitui uma prova de trabalho que exige uma quantidade parametrizável de trabalho
para calcular para o remetente. O destinatário pode verificar os selos recebidos de forma eficiente.

A função de prova de trabalho de hashcash é para calcular colisões de hash parciais (o hash SHA1
função é usada). Ao escolher o número de bits de colisão, o trabalho necessário para
calcular uma colisão pode ser arbitrariamente caro - de frações de segundo a
minutos ou horas. A verificação é eficiente, exigindo o mesmo pequeno custo, seja qual for
o tamanho da colisão.

Para uma discussão mais detalhada de outros aplicativos, hashcash foi usado para ver
http://www.hashcash.org/

USO NOTAS


Nesta página do manual, um nome de recurso é o nome do serviço ou endereço do carimbo é
criado para. No caso de e-mail, o nome do recurso é o endereço de e-mail do destinatário em
a forma [email protegido].

cunhagem selos

A -m deve ser dada bandeira para cunhar um selo.

O nome do recurso (endereço de e-mail do destinatário) para cunhar o carimbo pode ser passado como
um argumento ou, se omitido, é lido de stdin. Se stdin for um tty, o usuário será solicitado, se
stdin é um canal em que o nome do recurso é apenas lido silenciosamente. O tamanho de colisão desejado pode
ser especificado com a opção -b. Se nenhum tamanho de colisão for especificado, o padrão é 20
bits. Veja também o -b omissão opção.

Checagem selos

A -c deve ser fornecida uma bandeira para verificar a validade dos selos. O carimbo a verificar pode ser dado como um
argumento para "hashcash". Se nenhum carimbo for fornecido, o carimbo será lido de stdin. Se stdin é um
tty, o usuário será avisado, se stdin for um pipe, o selo é apenas lido silenciosamente. UMA
o nome do recurso (o endereço de e-mail do destinatário) pode ser fornecido com o -r opção. Se um
o nome do recurso é dado, o nome do recurso é comparado ao nome do recurso no carimbo, se
eles não coincidem, o selo é rejeitado.

Nota: se nenhum nome de recurso for fornecido, o carimbo é verificado de qualquer maneira para ver se é diferente
válido, mas poderia ser cunhado para um recurso diferente, o que permitiria que os selos fossem
reutilizado em diferentes recursos, portanto, o hashcash retornará um código de saída não verificado na saída.

Os selos são, por padrão, considerados válidos por 28 dias. O período de validade pode ser
mudou usando o -e bandeira.

Se o carimbo expirou ou tem uma data no futuro, o carimbo é rejeitado e o programa
sai imediatamente.

Se um tamanho de colisão necessário for fornecido com o -b sinalizador, o valor dos carimbos é calculado e
comparado, se o selo tiver valor insuficiente, ele é rejeitado e o programa sai
imediatamente. Se o -b bandeira não é fornecida, o carimbo é verificado para ver se é de outra forma
válido, mas o hashcash retornará um código de saída não verificado na saída.

Se o carimbo for gasto em dobro, ele será rejeitado. Proteção dupla de gastos é
discutido com mais detalhes abaixo em "Proteção de gastos duplos". Se gastar o dobro
a proteção não está habilitada, o selo pode ser gasto em dobro, então o hashcash retornará
código de saída não verificado (código de saída 2) na saída.

A -w sinalizador pode ser usado para solicitar que o número de bits da colisão seja contado
e exibido. O -n sinalizador pode ser usado para solicitar que o nome do recurso no carimbo seja
analisado e exibido. O -l sinalizador pode ser usado para solicitar o número de segundos até
a validade do selo é emitida.

O programa só retornará códigos de saída válidos ou inválidos se o -c bandeira é usada, o -b
bandeira é usada, -d, -r recurso são usados. Este é o conjunto mínimo de opções necessárias para
verifique totalmente a validade de um carimbo. Se esses critérios não forem atendidos, o programa irá
código de saída de retorno desmarcado (código de saída 2) na saída. (Veja também o -y bandeira.)

Double Passar pós-colheita

Se o -d sinalizador é usado ao verificar selos, um banco de dados de selos gastos é mantido.

Por padrão, os carimbos expiram após 28 dias, sem expirar o banco de dados aumentaria
indefinidamente. Você pode especificar um período de expiração alternativo com o -e bandeira. o
o período de expiração recomendado (e padrão) para e-mail é de 28 dias. Após o prazo de validade
quantidade de tempo, o carimbo é considerado de qualquer maneira expirado e pode ser removido do banco de dados
para economizar espaço. (Consulte "Purgar periodicamente x no próximo acesso" para saber como limpar selos.)

Por razões de eficiência, um carimbo é verificado antes de ser verificado no banco de dados; se for
caso contrário, não ocorrerá nenhuma atividade no banco de dados inválido.

Nota: A decisão sobre por quanto tempo o selo deve ser considerado válido cabe ao
verificador. Se for muito curto, é possível para algumas aplicações que o selo
expira antes de chegar ao destinatário (por exemplo, com e-mail). O valor sugerido de 28 dias
deve ser seguro para atrasos normais na entrega de e-mail. A escolha é uma troca entre
tamanho do banco de dados e risco de expiração antes da chegada, e depende do aplicativo.

Nota: Selos diferentes no mesmo banco de dados podem ter períodos de validade diferentes, portanto, para
selos de exemplo para diferentes recursos com diferentes períodos de validade podem ser armazenados em
o mesmo banco de dados, ou o destinatário pode alterar o período de validade para futuros selos
sem afetar a validade dos selos antigos.

Purga Periodicamente vs on Próximo Acesso a

Para limpar selos antigos periodicamente enquanto verifica os selos, use o -p significativo opção de purgar
não antes do período de tempo determinado desde a última eliminação. A purga pode ser usada com o
-k opção de limpar selos não vencidos também, e com o -j recurso sinalizar para purgar apenas
carimbos para o recurso fornecido.

Existem circunstâncias em que pode ser inconveniente eliminar os selos no próximo acesso,
por exemplo, se houver um grande banco de dados de gasto duplo que leva algum tempo para limpar, e
o tempo de resposta do verificador de hashcash é importante. Para evitar este problema, purgar
pode ser feito separadamente usando apenas o -p agora opção de solicitar apenas a operação de purga.
No Unix, por exemplo, você pode chamar "hashcash -p now" em um cron job uma vez por dia, ou em
demanda quando o disco estava acabando.

Velocidade Estimativas

A -s sinalizar solicita a medição de quantas colisões podem ser testadas por segundo. Não
o selo é cunhado ou verificado.

Se o -b sinalizador é usado com esta opção, em vez de uma estimativa de quantos segundos
take para cunhar um carimbo do tamanho fornecido em bits é calculado. Para descobrir quanto tempo isso
levará para cunhar um uso de selo de tamanho padrão -s -b omissão.

Notas

Todas as saídas informativas são impressas em stderr. Selos cunhados e resultados de selos
a verificação e o tempo são impressos no stdout. A bandeira quieta -q suprime tudo
saída informativa. O -v sinalizador solicita mais saída informativa. O solicitado
saída, que é a única informação emitida em modo silencioso (quando -q é especificado)
é impresso na saída padrão. Se stdout for um tubo, ou quando o modo silencioso estiver em vigor, o
a saída é impressa sem descrição (ou seja, apenas bits, apenas segundos, apenas recursos).

OPÇÕES


-c Verifique as informações de validade dos selos dados como argumento ou no stdin. (Usar com
-b, -d e -r recurso para verificar totalmente os selos).

-m Carimbos do Mint com os recursos fornecidos como argumentos ou em stdin.

-b pedaços
Ao cunhar um selo, crie uma colisão de pelo menos este número de bits. Ao verificar um
carimbo exigem que haja uma colisão de, no mínimo, este número de bits, caso contrário, rejeite
isto. Se omitido, o padrão é usado.

Ao verificar os carimbos, exija que eles tenham essa quantidade de bits.

O número padrão de bits pode ser especificado com -b omissão. Bits em relação ao
padrão também pode ser especificado com -b +n para n bits a mais do que o padrão e -b -n
para n bits a menos que o padrão.

-b omissão, -b +0 e -b -0 são todos equivalentes.

Ao fazer o teste de velocidade -s, pode medir a velocidade do token padrão com -s -b
omissão.

-r recurso
Ao cunhar selos, o nome do recurso (endereço de e-mail do destinatário) para cunhar o selo
contra pode ser dado com -r recurso ou como um argumento para "hashcash".

Ao verificar os carimbos, o nome do recurso (seu próprio endereço de e-mail) é fornecido com o -r
opção. Se o nome do recurso for fornecido, ele será verificado em relação ao nome do recurso no
carimbo e, se não corresponderem, o carimbo é rejeitado. Observe se o nome do recurso é
não fornecido, selos para outros recursos seriam aceitos e, portanto, hashcash
retorna o código de saída desmarcado (código de saída 2) na saída.

-o Ao verificar os carimbos, vários recursos podem ser fornecidos. Por padrão, os recursos são
apenas verificado um por um até que um recurso válido correspondente seja encontrado. Porém quando você
use curingas ou expressões regulares (veja -E), é útil ser capaz de especificar que
um recurso substitui outro. Por exemplo, este: -b15 -r [email protegido] -o -b10
*@dev.null afirma que o correio para o endereço [email protegido] requer 15 bits, mas enviar para
*@dev.null requer apenas 10 bits. Se omitimos o -o substituir relação entre
os dois recursos, um carimbo de 10 bits seria aceito para o endereço [email protegido]
porque embora fosse rejeitado como tendo bits insuficientes na primeira regra,
seria aceito pela 2ª regra. O -o opção permite que você evite este problema.

-e tempo
Prazo de validade para selos gastos. Ao verificar os carimbos (usando o -c bandeira), se o
o selo foi cunhado há mais tempo do que o especificado, é considerado expirado.
Se esta opção não for usada, por padrão, os carimbos expiram após 28 dias. O período de expiração
é fornecido em segundos por padrão (um argumento de 0 significa para sempre). Um único personagem
sufixo pode ser usado para especificar unidades alternativas (m = minutos, h = horas, d = dias, M =
meses, y = Y = anos e s = segundos).

Se usado com o -d opção, o carimbo gasto e seu período de validade são registrados no
base de dados. Veja o -p opção para descrição de como limpar os carimbos do banco de dados.

Ao cunhar selos, o -e bandeira pode ter um efeito na resolução do tempo criado
no selo. Sem o -e opção, a resolução padrão é dias (formato de hora:
AAMMDD). Os formatos alternativos com base no intervalo do período de expiração são os seguintes:

Durante a cunhagem, você também pode fornecer um intervalo de tempo explícito com o -z opção.
(-z Substitui -e se ambos forem fornecidos. Se nenhum dos dois for fornecido o padrão é 6 caracteres (tempo
formato: AAMMDD)).

As regras para determinar automaticamente o intervalo de tempo apropriado de -e se não -z opção
é dado são:

* período> = 2 anos, então o formato de hora YY é usado arredondado para o ano mais próximo
começar;
* 2 anos <período <= 2 meses, então o formato de hora YYMM é usado arredondado para baixo
início do mês mais próximo;
* 2 meses <período <= 2 dias, então o formato de hora AAMMDD é usado arredondado para baixo
início do dia mais próximo;
* 2 dias <período <= 2 minutos então o formato de hora YYMMDDhhmm é usado arredondado para baixo
início do minuto mais próximo;
* período <2 minutos, então o formato de hora YYMMDDhhmmss é usado em segundos.

Observe que o arredondamento para baixo é baseado na hora UTC, não na hora local. Isso pode levar a
resultados inicialmente surpreendentes quando arredondados para, por exemplo, dias em fusos horários diferentes de GMT
(UTC = GMT). Pode ser mais claro entender se você usar o -u opção.

-z largura
A -z opção é para uso durante a cunhagem e permite a escolha do usuário de largura de tempo
campo. Veja também o -e opção dada em combinação com -m para especificar um implícito
largura do campo de tempo sob a descrição do -e bandeira. As larguras válidas são 6,10 ou 12
chars correspondendo respectivamente a: YYMMDD, YYMMDDhhmm e YYMMDDhhmmss arredondados para baixo
para o dia ou minuto mais próximo, respectivamente.

Observe que o arredondamento para baixo é baseado na hora UTC, não na hora local. Isso pode levar a
resultados inicialmente surpreendentes quando arredondados para, por exemplo, dias em fusos horários diferentes de GMT
(UTC = GMT). Pode ser mais claro entender se você usar o -u opção.

-g significativo
A -g opção é para uso ao verificar os carimbos hashcash com o -c opção e
especifica um período de carência para o clock skew, ou seja, se um carimbo hashcash chega com uma data em
o futuro ou no passado não será rejeitado como tendo uma data futurística (ou como
estar expirado) a menos que seja mais futurista (ou tenha expirado por mais tempo) do que isso
período. O padrão é 2 dias, o que significa que contanto que o relógio do sistema de envio seja
não mais do que 2 dias antes (ou 2 dias atrás) do relógio do sistema receptor, o
o carimbo hashcash ainda será aceito.

As unidades padrão para o período de carência são segundos. Um único sufixo de caractere pode ser usado
para especificar unidades alternativas (m = minutos, h = horas, d = dias, M = meses, y = Y =
anos, es = segundos).

-d Armazene os selos em um banco de dados de gasto duplo. Se o selo foi visto antes, será
rejeitado mesmo que seja de outra forma válido. O arquivo de banco de dados padrão é banco de dados.sdb in
o diretório atual. Caso contrário, apenas os carimbos válidos serão armazenados no banco de dados.
Apenas carimbos totalmente validados serão armazenados no banco de dados, a menos que o -y opção
dado.

-f nome do banco de dados
Use nome do banco de dados em vez do nome de arquivo padrão para banco de dados de gasto duplo.

-p significativo
Limpa o banco de dados de carimbos expirados se o período de tempo determinado tiver passado desde o
da última vez, foi eliminado. Por conveniência -p agora é equivalente a -p 0 ambos dos quais
significa purga agora, independentemente de quando o banco de dados foi purgado pela última vez.

Se usado em combinação com -j recurso apenas os selos cunhados para o recurso fornecido
são purgados.

Se usado em combinação com -k todos os selos, mesmo os que não expiraram, são eliminados. Pode ser
usado em combinação com -t tempo para expirar como se a hora atual fosse a hora indicada.

-k Use com opção -p para solicitar que todos os selos sejam removidos, e não apenas os expirados.

-j recurso
Use com opção -p para solicitar que apenas os carimbos que correspondam ao nome do recurso fornecido sejam para
ser eliminado, em vez do padrão que é eliminar todos os carimbos expirados. Se o
nome do recurso é a string vazia, todos os carimbos são correspondidos (isso é equivalente a
omitindo o -j opção).

Note o -E, -M e -S tipo de sinalizadores de correspondência também se aplicam a recursos fornecidos com o -j
recurso bandeira.

-s Imprima apenas informações de tempo e não prossiga para criar um carimbo. Se combinado com
-b pedaços bandeira imprimir estimativa de quanto tempo o tamanho de colisão solicitado levaria para
computar, se -s dado por si só, imprime apenas a velocidade do localizador de colisão. Imprimir
uma estimativa de quanto tempo o número padrão de bits levaria uso -b omissão.

-h Imprima informações curtas de uso.

-v Imprima uma saída informativa mais detalhada sobre a cunhagem ou verificação do selo. (Se
-v é o único argumento, imprime o número da versão da ferramenta.)

-V Imprime o número da versão da ferramenta.

-q Modo em lote. Imprime nenhuma informação diferente de saída. Esta opção substitui o -v
opção.

-X Ao cunhar, imprime o cabeçalho X do e-mail hashcash 'X-Hashcash:' antes do carimbo.
Sem esta opção, apenas o selo puro é impresso.

Ao verificar, após escanear os carimbos fornecidos como argumentos, verifica o stdin em busca de linhas
começando com a string 'X-Hashcash:', e usa o resto da linha correspondente como o
carimbo. Apenas as linhas até e terminando na primeira linha em branco são lidas (ver também
-i sinalizador que pode ser usado para substituir isso). Uma linha em branco é o separador usado para
separe os cabeçalhos do corpo de uma mensagem de correio ou artigo da USENET. Isso é querido
para tornar conveniente canalizar uma mensagem de correio ou artigo da USENET para hashcash em stdin.

-x extensão
Uma string de extensão composta de conjuntos de valores de nomes. O formato da extensão é descrito
abaixo na seção sobre o formato de carimbo hashcash. Isso permite que os usuários definam seus
extensões de selo próprias que são misturadas ao selo, verificadas pelos destinatários que
apoiá-los e ignorados por destinatários que não os apoiam. Observe a extensão
mecanismo de gancho ainda não foi implementado. Isso virá em uma versão subsequente.

-i Ao verificar e usar o -X sinalizador, ignore o limite da linha em branco entre os cabeçalhos
e o corpo da mensagem, e verifique se há colisão no corpo também, se nenhuma for encontrada
nos cabeçalhos.

-t tempo
Finja que a hora atual é a hora indicada para fins de cunhagem de selos, verificando
selos e eliminação de selos antigos do banco de dados. A hora é fornecida em um formato baseado em
Formato UTCTIME AAMMDD [hhmm [ss]].

A hora é expressa na hora local por padrão. Usar com -u sinalizar para dar a hora em UTC
(GMT).

Você também pode fornecer a hora relativa à hora atual prefixando o argumento com +
ou -. As unidades padrão de tempo relativo são segundos. Um único sufixo de caractere pode
ser usado para especificar unidades alternativas (m = minutos, h = horas, d = dias, M = meses, y =
Y = anos es = segundos).

Nota: quando a hora é expressa na hora local, se houver horário de verão em seu
fuso horário, há uma ou duas horas ambíguas por ano no momento da mudança de
horário de verão para o horário normal.

-u Insira e produza horas absolutas em UTC (GMT) em vez da hora local.

-a significativo
Adicione (ou subtraia se o número for negativo) um valor aleatório da hora atual anterior
cunhar o selo. Isso oculta a hora em que o carimbo foi criado, o que pode ser útil para
usuários anônimos. Observe que adicionar (em vez de subtrair) um tempo aleatório pode ser arriscado se
o selo leva menos do que o tempo adicionado para chegar, pois o destinatário rejeitará os selos
com carimbos de data / hora no futuro.

-n Nome do recurso de impressão analisado a partir do selo que está sendo verificado. Retorna o código de saída desmarcado em
Saída.

-l Imprime o número de segundos restantes antes que o selo expire. Retorna o código de saída desmarcado em
Saída.

Nota: o cálculo inclui o período de carência, então pode ser até 2 vezes o período de carência
mais do que você poderia esperar (relógio rápido, mas o sistema tem que presumir que poderia
ser lento). Se você deseja excluir o período de carência, adicione -g0 para definir o período de carência para 0
para o cálculo.

-w Imprime o número de bits de colisão do selo. Retorna o código de saída desmarcado na saída.

-y Retorna sucesso se o carimbo for válido mesmo se não estiver totalmente verificado. Usar com -c
onde nem todos -d, -r são especificados para obter o código de saída de sucesso em válido, mas parcialmente
carimbo verificado. Da mesma forma, pode usar com -n, -l, -w com o mesmo efeito.

-M Ao verificar os carimbos, permita um caractere curinga * correspondência no nome do recurso para torná-lo
mais simples especificar vários endereços de e-mail e permitir a correspondência de endereços "pega-tudo"
e endereços incluindo subdomínios. Este é o padrão. Veja também -S, -E e -C

-S Ao verificar os carimbos, use um texto simples compare para comparar os nomes dos recursos àqueles em
selos. Veja também -M, -E e -C.

-E Ao verificar os carimbos, use expressões regulares para especificar os nomes dos recursos para torná-los
mais simples especificar vários endereços de e-mail, endereços "pega-tudo", classes de extensão
endereços e endereços incluindo subdomínios. Observe que a sintaxe da expressão regular é POSIX
estilo: os caracteres especiais não precisam ser citados para ter seu significado especial; mas
eles têm que ser citados com \ para aquele caractere na string pesquisada. O
a expressão regular automaticamente tem ^ adicionado no início e $ adicionado no final,
se eles não forem especificados. Os caracteres especiais ^ correspondem ao início do
resouce e $ corresponde ao fim do recurso.

(Observe que mesmo se compilado com expressões regulares BSD, a sintaxe do estilo POSIX é usada; também
observe que as expressões regulares BSD não oferecem suporte a intervalos {}.)

-C Por padrão, os recursos são canonizados para minúsculas na cunhagem e na verificação. O
-C sinalizador substitui isso para que os recursos sejam tratados com distinção entre maiúsculas e minúsculas na verificação,
e não canonizado na cunhagem.

-P Imprimir informações de progresso (número de iterações, iterações esperadas, porcentagem concluída, melhor
tamanho do selo encontrado até agora).

-O core
Selecione o núcleo de hashcash com esse número. Atualmente, 0-9 são núcleos válidos. Nem todos os núcleos
trabalhar em todas as arquiteturas. Por exemplo, alguns são assembler específico para x86, outros específicos para PPC
montador. Se um núcleo não é válido, o hashcash retorna falha e explica o que
aconteceu.

-Z n
Comprima o selo. Esta é uma troca entre o tempo e o espaço. Selos maiores são mais rápidos, mas
indiscutivelmente um pouco feio. Para carimbos mais rápidos (o padrão), use -Z 0; para parcialmente
selos comprimidos usam -Z 1; para carimbos muito compactados, mas um tanto lentos, use -Z 2.
(Nota: devido a um bug descoberto tardiamente, -Z2 é o mesmo que -Z1 por agora até que eu possa consertar
naquela.)

EXEMPLOS


Criar selos

"hashcash -s"
Imprima informações de tempo sobre quantas colisões a máquina pode tentar por segundo.

"hashcash -sv"
Comparativo de mercado mais preciso, mas bastante lento, de diferentes processos de cunhagem específicos
núcleos.

"hashcash -s -b default"
Imprime quanto tempo levaria para a máquina computar uma colisão de tamanho padrão (mas
na verdade, não calcula uma colisão).

"hashcash -s -b 32"
Imprime quanto tempo levaria para a máquina calcular uma colisão de 32 bits (mas não
realmente calcula uma colisão).

"hashcash -m"
Menta um selo. Irá solicitar o nome do recurso e cunhar com o valor padrão (número de
bits de colisão).

"hashcash -m foo"
Compute a colisão no recurso foo. Irá cunhar com o valor padrão (número de colisões
pedaços).

"hashcash -m foo -b 10"
Calcula a colisão de 10 bits no recurso foo.

"hashcash -a -3d"
Subtraia um tempo aleatório entre 0 e 3 dias do tempo de criação do selo.
Este é o mesmo fator de difusão usado pelo mixmaster para reduzir o risco de correlações temporais.

Examinando Selos

"hashcash -w 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Relate o valor do selo (quantos bits de colisão) existem. O exemplo é
uma colisão de 24 bits, que leva em média 25 segundos para criar em um P3 4Ghz.

"hashcash -mq -b 10 foo ⎪ hashcash -w"
Crie um carimbo no modo em lote, passe para hashcash em stdin para verificar e faça com que ele imprima
muitos bits existiam.

"hashcash -n 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Relate o nome do recurso do carimbo. O nome do recurso no exemplo é foo.

"hashcash -l -e 30y 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Relate quanto tempo até o carimbo expirar se expirar em 30 anos a partir de sua criação
encontro. (Observe que datas muito distantes no futuro vão até o final de 2038 da Época, que é
o unix time análogo do bug y2k).

Verificando Selos

"hashcash -c 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Verifique se o carimbo é válido. Observe que não estamos verificando o selo em um gasto duplo
banco de dados e não especificou um nome de recurso ou número necessário de bits de colisão
e o hashcash irá considerar o carimbo não totalmente verificado e irá reportá-lo como válido
mas não totalmente desmarcado, ou como inválido se houver algum problema com o selo.

"hashcash -c -b24 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Verifique se o valor do carimbo é maior ou igual a 24 bits. Este exemplo tem 24
valor de bit. Se você aumentar o número de bits solicitados ou substituir o carimbo por um
com menos de 24 bits de colisão, o selo será rejeitado.

"hashcash -c -b24 -r foo 1: 24: 040806: foo :: 511801694b4cd6b0: 1e7297a"
Como acima verifique se o carimbo tem valor suficiente, mas além disso verifique se o
o nome do recurso fornecido corresponde ao nome do recurso no carimbo.

Double Passar Prevenção

Os exemplos dados em "Verificando Selos" podem ser modificados para manter um banco de dados de gastos duplos
de forma que o mesmo selo não será aceito duas vezes. Observe que um selo só será verificado
e adicionado ao banco de dados se for de outra forma válido e totalmente verificado (um número necessário de
bits de colisão foram especificados e um recurso foi especificado).

"hashcash -cd -b 10 -r foo 1: 24: 040806: foo :: 511801694b4cd6b0: 1e7297a"
Verifique o carimbo e adicione ao banco de dados de gasto duplo se for válido (tem o recurso correto
nome e valor suficiente).

"hashcash -cd -b 10 -r foo 1: 24: 040806: foo :: 511801694b4cd6b0: 1e7297a"
Tente gastar o selo em dobro. Será rejeitado como gasto em dobro.

Carimbar Termo

Para evitar que o banco de dados de gasto duplo cresça indefinidamente, o destinatário pode solicitar que
os selos não devem ter mais do que um período especificado. Após a expiração, selos antigos podem cair do
banco de dados de gasto duplo, pois eles não serão mais necessários - selos expirados podem ser rejeitados
com base puramente na data anterior, de modo que o espaço ocupado pelos selos expirados no gasto duplo
o banco de dados pode ser salvo sem risco de aceitar um carimbo expirado, embora de outra forma válido.

O terceiro campo do carimbo é a hora UTC desde 1º de janeiro de 1970. A hora padrão
o formato é AAMMDD, a hora arredondada para o dia mais próximo. O período de validade padrão é 28
dias.

Você pode fornecer um período de validade alternativo com o -e opção.

"hashcash -cd -b 10 -e 2d -r foo 1: 24: 040806: foo :: 511801694b4cd6b0: 1e7297a"
Tente verificar um selo antigo, o selo acima foi criado em 11 de agosto de 2002.

Demos opção -e 2d então a data de validade dos selos é 2 dias após a criação, que agora é
no passado.

Nota: se a hora de criação é expressa no carimbo em dias, a criação precisa
data é o início do dia especificado na hora UTC (da mesma forma para unidades alternativas
o tempo de criação é arredondado para o início da unidade em que é expresso).
Para unidades em dias, por exemplo, isso pode significar, dependendo do seu fuso horário, que o
carimbo parece ser considerado inválido dentro do período de validade especificado em dias
em relação à sua visão relativa de que dia é, já que o cálculo é baseado em
hora atual em UTC, e a hora de criação do carimbo é expressa em hora UTC.

"hashcash -cd -b 10 -r foo 1: 24: 040806: foo :: 511801694b4cd6b0: 1e7297a"
Teste se o carimbo é válido, exceto por ter expirado. Omitindo o -e
diz ao hashcash que o carimbo nunca irá expirar. Um período de validade para sempre também pode
ser dado explicitamente assim: -e 0, onde um período de expiração de 0 significa para sempre.

Purga velho selos

Se o -c, -d opções são usadas juntas, cada vez que um carimbo é verificado, se é válido e
todos os aspectos obrigatórios do carimbo são verificados (verificação de bits de colisão, recurso
verificação de nome), então o carimbo e seu período de validade são gravados no arquivo de banco de dados. O
período de expiração padrão se um período de expiração não for fornecido explicitamente com o -e a opção é 28
dias (ou seja, os selos expiram após 4 semanas).

Primeiro menta e depois adicione um carimbo:

"hashcash -m -b 10 foo -e 1m> carimbo"
Nota: especificamos um prazo de validade na cunhagem neste exemplo, para garantir que o selo
o tempo de criação é dado em resolução alta o suficiente no selo para que o selo não
ser considerado expirado no momento da criação. (Lembre-se de que a resolução padrão é em dias,
um selo criado com um tempo de criação arredondado para o início do dia é
improvável de ser considerado válido 1 minuto depois, a menos que você cunhe à meia-noite UTC
Tempo.)

"hashcash -cd -e 1m -b 10 -r foo <carimbo"
O carimbo expira em 1 minuto. Aguarde 1 minuto e solicite explicitamente que expirou
selos sejam eliminados:

"hashcash -p agora"
Em seguida, tente reenviar o mesmo carimbo:

"hashcash -cd -e 1m -b 10 -r foo <carimbo"
e o selo será rejeitado de qualquer maneira, pois expirou, ilustrando por que não foi
necessário manter esse carimbo no banco de dados.

Com o banco de dados padrão (o formato sdb), o conteúdo do banco de dados pode ser lido por humanos,
para que você possa ver o conteúdo, direcionando-os ao terminal:

"cat hashcash.sdb"
para ver se o selo é realmente adicionado e, em seguida, após a purificação, subsequentemente removido devido a
termo.

Purga velho selos on Demanda

Para sua conveniência, você pode limpar ao mesmo tempo que verifica os carimbos usando o -p opção
com o -c opção.

"hashcash -m -b 10 foo> carimbo"
"hashcash -cd -p now -e 1 -b 10 -r foo <carimbo"
Pode ser ineficiente limpar os carimbos em cada uso, pois todo o banco de dados deve ser
digitalizado em busca de selos expirados. Dando um período de tempo para o -p opção, você pode dizer
"hashcash" para limpar não mais freqüentemente do que aquele período de tempo desde a limpeza anterior.

Por exemplo:

"hashcash -cd -p 1d -e 1 -b 10 -r foo <carimbo"
diz ao "hashcash" para limpar todos os carimbos expirados, no máximo uma vez por dia.

"hashcash -p 1M -j foo"
diz ao "hashcash" para limpar apenas os carimbos expirados que correspondam ao recurso foo uma vez por mês.

"hashcash -p now -k"
diz ao "hashcash" para limpar todos os carimbos (expirados e não expirados) agora.

carimbo formato (v 1)


O formato do carimbo atual é a versão 1. Esta ferramenta pode verificar os carimbos da versão 0 do hashcash
também, mas os carimbos da versão 0 não são mais criados, pois estão sendo eliminados em favor de
o formato de carimbo v1 mais extensível.

ver:pedaços:dados:recurso:[ext]:rand:contrariar

onde

ver = 1
pedaços = quantos bits de colisão parcial o selo afirma ter
dados = AAMMDD [hhmm [ss]]
recurso = string de recurso (por exemplo, endereço IP, endereço de e-mail)
ext = extensão - ignorado na versão atual
Formato de extensão:

[name1[=val1[,val2...]];[name2[=val1[,val2...]]...]]
Observe que o valor também pode conter =. Exemplo de extensão (não real):

name1=2,3;name2;name3=var1=2,var2=3,2,val

Qual seria a extensão name1 tem os valores 2 e 3; a extensão name2 não tem valores;
a extensão name3 tem 3 valores "var1 = 2", "var2 = 3", "2" e "val". O hashcash
a extensão pode interpretar os valores como achar adequado, por exemplo, "var1 = 2" pode ser o valor
de uma opção para a extensão name3.

rand = seqüência de caracteres aleatórios do alfabeto a-zA-Z0-9 + / = para evitar colisões com
selos de outro remetente
contrariar = para encontrar um carimbo com o número desejado de bits de colisão, é necessário tentar muitos
strings diferentes, este contador é incrementado a cada tentativa. O contador também é composto por
caracteres do alfabeto a-zA-Z0-9 + / =. (Observe que uma implementação não é necessária para
contar sequencialmente).

Use hashcash online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    Alt-F
    Alt-F
    Alt-F fornece um código-fonte livre e aberto
    firmware alternativo para o DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F tem Samba e NFS;
    suporta ext2 / 3/4 ...
    Baixar Alt-F
  • 2
    usm
    usm
    Usm é um pacote de slackware unificado
    gerenciador que lida automaticamente
    resolução de dependência. Ele unifica
    vários repositórios de pacotes, incluindo
    slackware, folgado, p...
    baixar usm
  • 3
    Chart.js
    Chart.js
    Chart.js é uma biblioteca Javascript que
    permite que designers e desenvolvedores desenhem
    todos os tipos de gráficos usando o HTML5
    elemento de tela. Chart js oferece uma ótima
    variedade ...
    Baixar Chart.js
  • 4
    iReport-Designer para JasperReports
    iReport-Designer para JasperReports
    NOTA: Suporte ao iReport/Jaspersoft Studio
    Anúncio: A partir da versão 5.5.0,
    Jaspersoft Studio será o oficial
    cliente de design para JasperReports. Eu informo
    vai...
    Baixar iReport-Designer para JasperReports
  • 5
    PostInstallerF
    PostInstallerF
    PostInstallerF irá instalar todos os
    software que o Fedora Linux e outros
    não inclui por padrão, após
    executando o Fedora pela primeira vez. Seu
    fácil para ...
    Baixar PostInstallerF
  • 6
    traço
    traço
    O projeto strace foi movido para
    https://strace.io. strace is a
    diagnóstico, depuração e instrução
    rastreador de espaço do usuário para Linux. É usado
    para monitorar um...
    Baixar strace
  • Mais "

Comandos Linux

Ad