InglésFrancésEspañol

Ad


icono de página de OnWorks

hashcash - Online en la nube

Ejecute hashcash en el proveedor de alojamiento gratuito de OnWorks a través de Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando hashcash que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


hashcash - herramienta de contramedida anti-spam / denegación de servicio de hashcash

SINOPSIS


Mint (crear) sellos:

hachís -m [[ opciones ] [ Recurso ...] ...]

cheque sellos:

hachís -c [[ opciones ] -r Recurso ...] [ sello ...]

Velocidad estimados:

hachís -s [ opciones ] [ -b los bits ]

purga base de datos:

hachís -p ahora [ -j Recurso ] [ -k ] [ -t equipo ] [ -u ]

Contar colisión bits:

hachís -w [ opciones ] [ sello ...]

Recibe Recurso Nombre:

hachís -n [ opciones ] [ sello ...]

Recibe equipo restante hasta expiración

hachís -l [ opciones ] -e período [ sello ...]

DESCRIPCIÓN


Hashcash es una herramienta de contramedida de denegación de servicio. Su principal uso actual es ayudar
Los usuarios de hashcash evitan perder el correo electrónico debido al anti-spam basado en contenido y en listas negras
.

La herramienta hashcash le permite crear sellos hashcash para adjuntar a los correos electrónicos que envía y
para verificar los sellos de hashcash adjuntos a los correos electrónicos que recibe. Los remitentes de correo electrónico adjuntan hashcash
sellos con el encabezado X-Hashcash :. Se anima a los proveedores y autores de herramientas anti-spam
para eximir el correo enviado con hashcash de sus listas negras y reglas de filtrado basadas en contenido.

Un sello hashcash constituye una prueba de trabajo que requiere una cantidad de trabajo parametrizable
para calcular para el remitente. El destinatario puede verificar los sellos recibidos de manera eficiente.

La función de prueba de trabajo hashcash es calcular las colisiones hash parciales (el hash SHA1
se utiliza la función). Al elegir el número de bits de colisión, el trabajo requerido para
calcular una colisión puede resultar arbitrariamente caro, desde fracciones de segundo hasta
minutos u horas. La verificación es eficiente y requiere el mismo pequeño costo sea cual sea
el tamaño de la colisión.

Para una discusión más detallada de otras aplicaciones se ha utilizado hashcash para ver
http://www.hashcash.org/

USO NOTAS


En esta página de manual, un nombre de recurso es el nombre del servicio o la dirección en la que se encuentra el sello.
creado para. En el caso del correo electrónico, el nombre del recurso es la dirección de correo electrónico del destinatario en
la forma [email protected].

acuñación sellos

El -m Se debe entregar la bandera para acuñar un sello.

El nombre del recurso (dirección de correo electrónico del destinatario) para acuñar el sello se puede pasar como
un argumento, o si se omite, se lee desde stdin. Si stdin es un tty, se le solicita al usuario, si
stdin es una tubería, el nombre del recurso se lee en silencio. El tamaño de colisión deseado puede
especificarse con la opción -b. Si no se especifica un tamaño de colisión, el valor predeterminado es 20
bits. Ver también el -b tu préstamo estudiantil .

Cuentas de cheques sellos

El -c Se debe dar una bandera para verificar la caducidad de los sellos. El sello a comprobar se puede dar como
argumento para "hashcash". Si no se da ningún sello, el sello se lee desde stdin. Si stdin es un
tty, se le preguntará al usuario, si stdin es una tubería, el sello se lee en silencio. A
El nombre del recurso (la dirección de correo electrónico del destinatario) se puede proporcionar con el -r opción. Si un
se proporciona el nombre del recurso el nombre del recurso se compara con el nombre del recurso en el sello, si
no coinciden, el sello se rechaza.

Nota: si no se da un nombre de recurso, el sello se verifica de todos modos para ver si es de otra manera
válido, pero podría acuñarse para un recurso diferente, lo que permitiría que los sellos se
reutilizado en diferentes recursos, por lo que hashcash devolverá un código de salida no verificado al salir.

Los sellos se consideran válidos por defecto durante 28 días. El período de validez puede ser
cambiado usando el -e bandera.

Si el sello ha caducado o tiene una fecha futura, el sello se rechaza y el programa
sale inmediatamente.

Si se da un tamaño de colisión requerido con el -b bandera, el valor de los sellos se calcula y
En comparación, si el sello tiene un valor insuficiente, se rechaza y el programa sale
inmediatamente. Si el -b no se da la bandera, se comprueba el sello para ver si es de otra manera
válido, pero hashcash devolverá un código de salida sin marcar al salir.

Si el sello se gasta dos veces, se rechaza el sello. La protección del doble gasto es
discutido con más detalle a continuación en "Protección contra el doble gasto". Si gasta el doble
la protección no está habilitada, el sello podría gastarse dos veces, por lo que el hashcash volverá
código de salida sin marcar (código de salida 2) al salir.

El -w La bandera se puede utilizar para solicitar que se cuente el número de bits de la colisión.
y se muestra. los -n La bandera se puede utilizar para solicitar que el nombre del recurso en el sello sea
analizado y mostrado. los -l La bandera se puede utilizar para solicitar el número de segundos hasta
Se emite la caducidad del sello.

El programa solo devolverá códigos de salida válidos o no válidos si el -c se utiliza la bandera, la -b
se usa la bandera, -d, -r Recurso son usados. Éstos son el conjunto mínimo de opciones necesarias para
comprobar completamente la validez de un sello. Si no se cumplen estos criterios, el programa
devolver el código de salida sin marcar (código de salida 2) al salir. (Ver también el -y bandera.)

Doble Gastos Protección

Si -d La bandera se utiliza al comprobar los sellos, se mantiene una base de datos de los sellos gastados.

Por defecto, los sellos caducan después de 28 días, sin caducidad, la base de datos aumentaría.
indefinidamente. Puede especificar un período de caducidad alternativo con el -e bandera. La
El período de caducidad recomendado (y predeterminado) para el correo electrónico es de 28 días. Después del período de vencimiento
cantidad de tiempo, el sello se considera caducado de todos modos y se puede eliminar de la base de datos
para ahorrar espacio. (Consulte "Purga periódica frente a en el siguiente acceso" para saber cómo purgar sellos).

Por razones de eficiencia, un sello se verifica antes de que se verifique en la base de datos; si esto es
de lo contrario, no se producirá actividad en la base de datos.

Nota: La decisión sobre cuánto tiempo debe considerarse válido el sello depende del
verificador. Si es demasiado corto, es posible que en algunas aplicaciones el sello
caduca antes de llegar al destinatario (por ejemplo, con el correo electrónico). El valor sugerido de 28 días
debe ser seguro para los retrasos normales en la entrega de correo electrónico. La elección es un compromiso entre
tamaño de la base de datos y riesgo de caducidad antes de la llegada, y depende de la aplicación.

Nota: Diferentes sellos en la misma base de datos pueden tener diferentes períodos de validez, por lo que
sellos de ejemplo para diferentes recursos con diferentes períodos de validez se pueden almacenar en
la misma base de datos, o el destinatario puede cambiar el período de validez de los sellos futuros
sin afectar la validez de los sellos antiguos.

Purga Periódicamente vs on Siguiente Access

Para purgar los sellos antiguos periódicamente mientras revisa los sellos, utilice el -p período opción de purgar
no antes del período de tiempo dado desde la última purga. La purga se puede utilizar con el
-k opción de purgar sellos vigentes también, y con la -j Recurso bandera para purgar solamente
sellos para el recurso dado.

Hay circunstancias en las que puede resultar inconveniente purgar los sellos en el próximo acceso,
por ejemplo, si hay una gran base de datos de doble gasto que tarda algún tiempo en depurarse, y
el tiempo de respuesta del comprobador de hashcash es importante. Para evitar este problema, purgar
se puede hacer por separado usando solo el -p ahora opción para solicitar solo la operación de purga.
En unix, por ejemplo, podría llamar "hashcash -p ahora" en un trabajo cron una vez al día, o en
demanda cuando el disco se estaba agotando.

Velocidad Estimaciones

El -s bandera solicita la medición de cuántas colisiones se pueden probar por segundo. No
El sello está acuñado o verificado.

Si -b La bandera se usa con esta opción, en lugar de una estimación de cuántos segundos
Se calcula el tiempo necesario para acuñar un sello del tamaño dado en bits. Para saber cuanto tiempo
tardará en acuñar un uso de sello de tamaño predeterminado -s -b tu préstamo estudiantil.

Notas

Toda la salida informativa se imprime en stderr. Sellos acuñados y resultados del sello
la verificación y el tiempo están impresos en stdout. La bandera silenciosa -q suprime todo
salida informativa. los -v bandera solicita más salida informativa. Lo solicitado
salida, que es la única información que se emite en modo silencioso (cuando -q está especificado)
se imprime en salida estándar. Si stdout es una tubería, o cuando el modo silencioso está en efecto,
la salida se imprime sin descripción (es decir, solo bits, solo segundos, solo recurso).

CAMPUS


-c Verifique la información de vencimiento de los sellos proporcionados como argumento o en stdin. (Usar con
-b, -d y -r Recurso para comprobar completamente los sellos).

-m Mint sellos con los recursos dados como argumentos o en stdin.

-b los bits
Al acuñar un sello, cree una colisión de al menos esta cantidad de bits. Al verificar un
el sello requiere que tenga una colisión de al menos esta cantidad de bits; de lo contrario, rechace
eso. Si se omite, se utiliza el predeterminado.

Al comprobar los sellos, solicite que los sellos tengan esta cantidad de bits.

El número predeterminado de bits se puede especificar con -b tu préstamo estudiantil. Bits relativos al
por defecto también se puede especificar con -b +n para n bits más que el predeterminado y -b -n
para n bits menos que el predeterminado.

-b tu préstamo estudiantil, -b +0 y -b -0 son todos equivalentes.

Al hacer la prueba de velocidad -s, puede medir la velocidad del token predeterminado con -s -b
tu préstamo estudiantil.

-r Recurso
Al acuñar sellos, el nombre del recurso (dirección de correo electrónico del destinatario) para acuñar el sello
contra se puede dar con -r Recurso o como argumento para "hashcash".

Al comprobar los sellos, el nombre del recurso (su propia dirección de correo electrónico) se proporciona con el -r
opción. Si se proporciona el nombre del recurso, se verifica con el nombre del recurso en el
sello, y si no coinciden se rechaza el sello. Tenga en cuenta si el nombre del recurso es
no se da, se aceptarían sellos para otros recursos, y por lo tanto hashcash
devuelve el código de salida sin marcar (código de salida 2) al salir.

-o Al verificar los sellos se pueden otorgar múltiples recursos. Por defecto, los recursos son
solo verifique uno por uno hasta que se encuentre un recurso válido que coincida. Sin embargo cuando tu
utilizar comodines o expresiones regulares (ver -E), es útil poder especificar que
un recurso anula a otro. Por ejemplo esto: -b15 -r [email protected] -o -b10
*@dev.null afirma que correo a la dirección [email protected] requiere 15 bits, pero envíelo a
*@dev.null requiere solo 10 bits. Si omitimos el -o anular la relación entre
los dos recursos, se aceptará un sello de 10 bits para la dirección [email protected]
porque si bien sería rechazado por tener bits insuficientes según la primera regla,
sería aceptado bajo la segunda regla. los -o La opción le permite evitar este problema.

-e equipo
Plazo de caducidad de los sellos gastados. Mientras revisa los sellos (usando el -c bandera), si el
El sello se acuñó hace más de la cantidad de tiempo especificada, se considera vencido.
Si no se utiliza esta opción, los sellos caducan por defecto a los 28 días. El período de vencimiento
se da en segundos de forma predeterminada (un argumento de 0 significa para siempre). Un solo personaje
El sufijo se puede utilizar para especificar unidades alternativas (m = minutos, h = horas, d = días, M =
meses, y = Y = años y s = segundos).

Si se usa con el -d opción, el sello gastado y su período de caducidad se registra en la
base de datos. Ver el -p opción para obtener una descripción de cómo purgar sellos de la base de datos.

Mientras acuña sellos, el -e La bandera puede tener un efecto en la resolución del tiempo creado.
en el sello. Sin el -e opción, la resolución predeterminada es días (formato de hora:
AAMMDD). Los formatos alternativos basados ​​en el rango de período de vencimiento son los siguientes:

Mientras acuña, también puede dar un ancho de tiempo explícito con el -z opción en lugar.
(-z anula -e si se dan ambos. Si no se da ninguno, el valor predeterminado es 6 caracteres (tiempo
formato: AAMMDD)).

Las reglas para determinar automáticamente el ancho de tiempo apropiado de -e si no -z opción
se da son:

* período> = 2 años, luego se usa el formato de tiempo YY redondeado al año más cercano
comienzo;
* 2 años <período <= 2 meses, entonces el formato de hora YYMM se usa redondeado a la
inicio del mes más cercano;
* 2 meses <período <= 2 días, luego se usa el formato de hora AAMMDD redondeado a la
comienzo del día más cercano;
* 2 días <período <= 2 minutos, luego el formato de hora YYMMDDhhmm se usa redondeado a la
comienzo del minuto más cercano;
* período <2 minutos, luego el formato de hora YYMMDDhhmmss se usa en segundos.

Tenga en cuenta que el redondeo se basa en la hora UTC, no en la hora local. Esto puede llevar a
resultados inicialmente sorprendentes cuando se redondea a, por ejemplo, días en zonas horarias distintas a GMT
(UTC = GMT). Puede ser más claro de entender si usa el -u .

-z anchura
El -z La opción se utiliza durante la acuñación y permite al usuario elegir el ancho del tiempo.
campo. Ver también el -e opción dada en combinación con -m para especificar un implícito
ancho del campo de tiempo bajo la descripción del -e bandera. Los anchos válidos son 6,10 o 12
caracteres correspondientes respectivamente a: AAMMDD, AAMMDDhhmm y AAMMDDhhmmss redondeados hacia abajo
al día o al minuto más cercano, respectivamente.

Tenga en cuenta que el redondeo se basa en la hora UTC, no en la hora local. Esto puede llevar a
resultados inicialmente sorprendentes cuando se redondea a, por ejemplo, días en zonas horarias distintas a GMT
(UTC = GMT). Puede ser más claro de entender si usa el -u .

-g período
El -g La opción es para usar al verificar sellos hashcash con el -c opción y
especifica un período de gracia para la desviación del reloj, es decir, si llega un sello hashcash con una fecha en
el futuro o en el pasado no será rechazado por tener una fecha futurista (o como
vencido) a menos que sea más futurista (o haya estado vencido por más tiempo) que este
período. El valor predeterminado es 2 días, lo que significa que mientras el reloj del sistema de envío sea
no más de 2 días antes (o 2 días atrás) del reloj del sistema receptor, el
Se seguirá aceptando el sello hashcash.

Las unidades predeterminadas para el período de gracia son segundos. Se puede utilizar un sufijo de un solo carácter
para especificar unidades alternativas (m = minutos, h = horas, d = días, M = meses, y = Y =
años ys = segundos).

-d Almacene sellos en una base de datos de doble gasto. Si el sello se ha visto antes, será
rechazado incluso si es válido por lo demás. El archivo de base de datos predeterminado es base de datos.sdb in
el directorio actual. En la base de datos solo se almacenarán sellos válidos de otro modo.
Solo los sellos completamente validados se almacenarán en la base de datos, a menos que el -y opción es
dado.

-f nombre de la base de datos
Uso nombre de la base de datos en lugar del nombre de archivo predeterminado para la base de datos de doble gasto.

-p período
Purga la base de datos de sellos vencidos si el período de tiempo dado ha pasado desde el
la última vez que se purgó. Como conveniencia -p ahora es equivalente a -p 0 Uno de cada uno
significa purgar ahora, independientemente de cuándo se purgó la base de datos por última vez.

Si se usa en combinación con -j Recurso solo los sellos acuñados para el recurso dado
se purgan.

Si se usa en combinación con -k todos los sellos, incluso los que no han vencido, se eliminan. Puede ser
usado en combinación con -t equipo expirar como si la hora actual fuera la hora dada.

-k Usar con opción -p para solicitar que se eliminen todos los sellos en lugar de solo los vencidos.

-j Recurso
Usar con opción -p para solicitar que solo los sellos que coincidan con el nombre del recurso dado sean
purgarse, en lugar del predeterminado, que es purgar todos los sellos vencidos. Si el
el nombre del recurso es la cadena vacía, todos los sellos coinciden (esto es equivalente a
omitiendo el -j opción).

Nota la -E, -M y -S El tipo de banderas de coincidencia también se aplican a los recursos dados con el -j
Recurso bandera.

-s Imprima solo la información de tiempo y no proceda a crear un sello. Si se combina con
-b los bits indicador de impresión estimada de cuánto tiempo tardaría el tamaño de colisión solicitado en
calcular, si -s dado por sí mismo, solo imprime la velocidad del buscador de colisiones. Imprimir
una estimación de cuánto tiempo se usaría el número predeterminado de bits -b tu préstamo estudiantil.

-h Imprima información de uso breve.

-v Imprima una salida informativa más detallada sobre la acuñación o verificación del sello. (Si
-v es el único argumento, imprime el número de versión de la herramienta).

-V Imprime el número de versión de la herramienta.

-q Por lotes. No imprime más información que la salida. Esta opción anula la -v
.

-X Al acuñar, imprime el encabezado X del correo electrónico hashcash 'X-Hashcash:' antes del sello.
Sin esta opción, solo se imprime el sello desnudo.

Al verificar, después de escanear sellos dados como argumentos, escanea stdin en busca de líneas
comenzando con la cadena 'X-Hashcash:', y usa el resto de la línea correspondiente como
sello. Solo se escanean las líneas hasta la primera línea en blanco y que terminan en ella (consulte también
-i bandera que se puede utilizar para anular esto). Una línea en blanco es el separador que se utiliza para
separe los encabezados del cuerpo de un mensaje de correo o artículo de USENET. Esto es
para que sea conveniente canalizar un mensaje de correo o un artículo de USENET a hashcash en stdin.

-x extensión
Una cadena de extensión compuesta por conjuntos de valores de nombre. El formato de extensión se describe
a continuación en la sección sobre el formato de sello hashcash. Esto permite a los usuarios definir su
propias extensiones de sello que se han introducido en el sello, verificadas por los destinatarios que
apoyarlos e ignorado por los destinatarios que no los apoyan. Tenga en cuenta la extensión
El mecanismo de gancho aún no se ha implementado. Esto vendrá en una versión posterior.

-i Al comprobar y utilizar el -X bandera, ignore el límite de la línea en blanco entre los encabezados
y el cuerpo del mensaje, y compruebe si hay colisión en el cuerpo también si no se encuentra uno
en los encabezados.

-t equipo
Suponga que la hora actual es la que se da a los efectos de acuñar sellos, verificar
sellos y depuración de sellos antiguos de la base de datos. El tiempo se da en un formato basado en
Formato UTCTIME AAMMDD [hhmm [ss]].

La hora se expresa en hora local de forma predeterminada. Usar con -u bandera para dar la hora en UTC
(GMT).

También puede dar tiempo relativo a la hora actual prefijando el argumento con +
o -. Las unidades predeterminadas para el tiempo relativo son segundos. Un sufijo de un solo carácter puede
utilizarse para especificar unidades alternativas (m = minutos, h = horas, d = días, M = meses, y =
Y = años ys = segundos).

Nota: cuando la hora se expresa en hora local, si hay horario de verano en su
zona horaria, hay una o dos horas ambiguas por año en el momento del cambio de
del horario de verano al horario normal.

-u Entrada y salida de horas absolutas en UTC (GMT) en lugar de la hora local.

-a período
Sumar (o restar si el número es negativo) un valor aleatorio del tiempo actual antes
acuñando el sello. Esto oculta la hora en que se creó el sello, lo que puede ser útil para
usuarios anónimos. Tenga en cuenta que agregar (en lugar de restar) un tiempo aleatorio puede ser arriesgado si
el sello tarda menos que el tiempo adicional en llegar ya que el destinatario rechazará los sellos
con marcas de tiempo en el futuro.

-n Imprimir el nombre del recurso analizado a partir del sello que se está verificando. Devuelve el código de salida sin marcar
salida.

-l Imprima el número de segundos que quedan antes de que caduque el sello. Devuelve el código de salida sin marcar
salida.

Nota: el cálculo incluye el período de gracia, por lo que puede ser hasta 2 veces el período de gracia
más de lo que cabría esperar (reloj rápido, pero el sistema debe suponer que podría
Sé lento). Si desea excluir el período de gracia, agregue -g0 para establecer el período de gracia en 0
para el cálculo.

-w Imprime el número de bits de colisión del sello. Devuelve el código de salida sin marcar al salir.

-y Devuelve correctamente si el sello es válido incluso si no está completamente verificado. Usar con -c
donde no todos -d, -r se especifican para obtener el código de salida de éxito en válido pero parcialmente
sello comprobado. Del mismo modo se puede utilizar con -n, -l, -w con el mismo efecto.

-M Al verificar sellos, permita comodines * haciendo coincidir el nombre del recurso para hacerlo
Es más sencillo especificar varias direcciones de correo electrónico y permitir que coincidan todas las direcciones.
y direcciones, incluidos los subdominios. Este es el predeterminado. Ver también -S, -E y -C

-S Al comprobar los sellos, utilice la comparación de texto simple para comparar los nombres de los recursos con los de
sellos. Ver también -M, -E y -C.

-E Al verificar sellos, use expresiones regulares para especificar los nombres de los recursos para hacerlo
más simple para especificar múltiples direcciones de correo electrónico, direcciones generales, clases de extensión
direcciones y direcciones, incluidos los subdominios. Tenga en cuenta que la sintaxis de las expresiones regulares es POSIX
estilo: no es necesario citar los caracteres especiales para que tengan su significado especial; pero
tienen que estar entre comillas con \ para ese carácter en la cadena buscada. los
la expresión regular automáticamente ^ se agregó al principio y $ se agregó al final,
si no se especifican. Los caracteres especiales ^ coinciden con el comienzo de la
resouce y $ coincide con el final del recurso.

(Tenga en cuenta que incluso si se compila con expresiones regulares BSD, se usa la sintaxis de estilo POSIX; también
nota que las expresiones regulares BSD no admiten rangos {}.)

-C Por defecto, los recursos se canonizan a minúsculas al acuñar y al verificar. los
-C el indicador anula esto para que los recursos se traten como sensibles a mayúsculas y minúsculas en la verificación,
y no canonizado en acuñación.

-P Imprimir información de progreso (número de iteraciones, iteraciones esperadas, porcentaje realizado, mejor
tamaño del sello encontrado hasta ahora).

-O core
Seleccione el núcleo de hashcash con ese número. Actualmente 0-9 son núcleos válidos. No todos los núcleos
trabajar en todas las arquitecturas. Por ejemplo, algunos son ensambladores específicos de x86, otros específicos de PPC
ensamblador. Si un núcleo no es válido, el hashcash devuelve un error y explica qué
sucedido.

-Z n
Comprime el sello. Este es un intercambio de tiempo vs espacio. Los sellos más grandes son más rápidos, pero
posiblemente un poco feo. Para sellos más rápidos (predeterminado) use -Z 0; por parte
los sellos comprimidos utilizan -Z 1; para sellos muy comprimidos, pero algo lentos, utilice -Z 2.
(Nota: debido a un error descubierto tarde, -Z2 es el mismo que -Z1 por ahora hasta que pueda solucionarlo
ese.)

EJEMPLOS


Creamos sellos

"hashcash -s"
Imprima información de tiempo sobre cuántas colisiones puede intentar la máquina por segundo.

"hashcash -sv"
Evaluación comparativa más precisa pero bastante lenta de diferentes acuñaciones específicas de procesadores
núcleos.

"hashcash -s -b predeterminado"
Imprima cuánto tardaría la máquina en calcular una colisión de tamaño predeterminado (pero
en realidad no calcula una colisión).

"hashcash -s -b 32"
Imprima cuánto tardaría la máquina en calcular una colisión de 32 bits (pero no
calcular realmente una colisión).

"hashcash -m"
Menta un sello. Solicitará el nombre del recurso y la menta con el valor predeterminado (número de
bits de colisión).

"hashcash -m foo"
Calcule la colisión en el recurso foo. Se acuñará con el valor predeterminado (número de colisiones
bits).

"hashcash -m foo -b 10"
Calcule la colisión de 10 bits en el recurso foo.

"hashcash -a -3d"
Reste un tiempo aleatorio de entre 0 días y 3 días del tiempo de creación del sello.
Este es el mismo factor de fuzz utilizado por mixmaster para reducir el riesgo de correlaciones de tiempo.

Examinar Sellos

"hashcash -w 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Informe el valor del sello (cuántos bits de colisión) hay. El ejemplo es
una colisión de 24 bits, que tarda una media de 25 segundos en crearse en un P3 de 4Ghz.

"hashcash -mq -b 10 foo ⎪ hashcash -w"
Cree un sello en modo por lotes, pase a hashcash en stdin para verificar, haga que imprima cómo
muchos bits había.

"hashcash -n 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Informe el nombre del recurso del sello. El nombre del recurso en el ejemplo es foo.

"hashcash -l -e 30y 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Informe cuánto tiempo hasta que caduque el sello si caduca en 30 años desde su creación
fecha. (Tenga en cuenta que las fechas demasiado lejanas en el futuro se extienden hasta el final de la Época de 2038, que es
el análogo de tiempo Unix del error y2k).

Verificando Sellos

"hashcash -c 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Compruebe si el sello es válido. Tenga en cuenta que no estamos comprobando el sello en un gasto doble
base de datos, y no especificó un nombre de recurso o el número requerido de bits de colisión
y hashcash considerará que el sello no está completamente verificado y lo informará como válido
pero no completamente desmarcado, o como inválido si hay algún problema con el sello.

"hashcash -c -b24 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Compruebe que el valor del sello sea mayor o igual a 24 bits. Este ejemplo tiene 24
valor de bit. Si aumenta el número solicitado de bits o reemplaza el sello con uno
con una colisión de menos de 24 bits, el sello será rechazado.

"hashcash -c -b24 -r foo 1: 24: 040806: foo :: 511801694b4cd6b0: 1e7297a"
Como arriba, verifique si el sello tiene un valor suficiente, pero además verifique que el
El nombre del recurso proporcionado coincide con el nombre del recurso en el sello.

Doble Gastos Prevención

Los ejemplos que se dan en "Verificación de sellos" se pueden modificar para mantener una base de datos de doble gasto.
para que no se acepte dos veces el mismo sello. Tenga en cuenta que solo se registrará un sello
y agregado a la base de datos si es válido y está completamente verificado (un número requerido de
se han especificado bits de colisión y se ha especificado un recurso).

"hashcash -cd -b 10 -r foo 1: 24: 040806: foo :: 511801694b4cd6b0: 1e7297a"
Verifique el sello y agréguelo a la base de datos de doble gastado si es válido (tiene el recurso correcto
nombre y valor suficiente).

"hashcash -cd -b 10 -r foo 1: 24: 040806: foo :: 511801694b4cd6b0: 1e7297a"
Intenta gastar el doble del sello. Será rechazado como doble gastado.

Stamp Expiración

Para evitar que la base de datos de doble gasto crezca indefinidamente, el destinatario puede solicitar que
los sellos no deben tener más de un período especificado. Una vez caducado, los sellos antiguos se pueden quitar del
Base de datos de doble gasto, ya que ya no serán necesarios: los sellos vencidos pueden rechazarse
basado puramente en su fecha anterior, por lo que el espacio que ocupan los sellos caducados en el gasto doble
La base de datos se puede guardar sin riesgo de aceptar un sello vencido aunque válido.

El tercer campo del sello es la hora UTC desde el 1 de enero de 1970. La hora predeterminada
El formato es AAMMDD, el tiempo se redondea al día más cercano. El período de validez predeterminado es 28
día.

Puede proporcionar un período de validez alternativo con el -e .

"hashcash -cd -b 10 -e 2d -r foo 1: 24: 040806: foo :: 511801694b4cd6b0: 1e7297a"
Intente verificar un sello antiguo, el sello anterior se creó el 11 de agosto de 2002.

Le dimos opción -e 2d por lo que la fecha de caducidad de los sellos es 2 días después de la creación, que ahora es
en el pasado.

Nota: si el tiempo de creación se expresa en el sello en días, la creación precisa
la fecha es el comienzo del día especificado en la hora UTC (de manera similar para las unidades alternativas
el tiempo de creación se redondea al principio de la unidad en la que se expresa).
Para unidades en días, por ejemplo, esto puede significar dependiendo de su zona horaria que el
el sello parece ser considerado inválido dentro del período de vencimiento especificado en días
en relación con su vista relativa de qué día es, ya que el cálculo se basa en
hora actual en UTC, y la hora de creación del sello se expresa en hora UTC.

"hashcash -cd -b 10 -r foo 1: 24: 040806: foo :: 511801694b4cd6b0: 1e7297a"
Compruebe si el sello es válido por lo demás, además de haber caducado. Omitiendo el -e
le dice al hashcash que el sello nunca caducará. Un período de caducidad para siempre también puede
ser dado explícitamente así: -e 0, donde un período de vencimiento de 0 significa para siempre.

Purga los ancianos sellos

Si -c, -d Las opciones se utilizan juntas, cada vez que se comprueba un sello, si es válido y
se verifican todos los aspectos obligatorios del sello (comprobación de bits de colisión,
verificación de nombre), el sello y su período de caducidad se escriben en el archivo de la base de datos. los
período de vencimiento predeterminado si un período de vencimiento no se da explícitamente con el -e la opción es 28
días (es decir, los sellos vencen después de 4 semanas).

Primero acuñe y luego agregue un sello:

"hashcash -m -b 10 foo -e 1m> sello"
Nota: especificamos un vencimiento al acuñar en este ejemplo, para asegurarnos de que el sello
El tiempo de creación se da en el sello con una resolución suficientemente alta para que el sello no se
se considerará caducado en el momento de su creación. (Recuerde que la resolución predeterminada es en días,
un sello creado con un tiempo de creación redondeado al principio del día es
es poco probable que se considere válido 1 minuto después a menos que lo acuñe a la medianoche UTC
tiempo.)

"hashcash -cd -e 1m -b 10 -r foo <sello"
El sello caduca en 1 minuto. Espere 1 minuto y luego solicite explícitamente que expire
los sellos se purgarán:

"hashcash -p ahora"
Luego intente volver a enviar el mismo sello:

"hashcash -cd -e 1m -b 10 -r foo <sello"
y el sello será rechazado de todos modos, ya que ha vencido, lo que ilustra por qué no fue
necesario para mantener este sello en la base de datos.

Con la base de datos predeterminada (el formato sdb), el contenido de la base de datos es legible por humanos,
para que pueda ver su contenido colocándolos en la terminal:

"gato hashcash.sdb"
para ver que el sello realmente se agrega y luego, después de purificar, posteriormente se purga debido a
expiración.

Purga los ancianos sellos on Demanda

Para su comodidad, puede purgar al mismo tiempo que verifica los sellos utilizando el -p opción
con el -c .

"hashcash -m -b 10 foo> sello"
"hashcash -cd -p ahora -e 1 -b 10 -r foo <sello"
Puede resultar ineficaz purgar los sellos en cada uso, ya que toda la base de datos tiene que ser
escaneado en busca de sellos vencidos. Al dar un período de tiempo al -p opción, puedes decir
"hashcash" para purgar con una frecuencia no mayor a ese período de tiempo desde la purga anterior.

Por ejemplo:

"hashcash -cd -p 1d -e 1 -b 10 -r foo <sello"
le dice a "hashcash" que elimine los sellos vencidos no más de una vez al día.

"hashcash -p 1M -j foo"
le dice a "hashcash" que purgue solo los sellos vencidos que coincidan con el recurso foo una vez al mes.

"hashcash -p ahora -k"
le dice a "hashcash" que elimine todos los sellos (vencidos y no vencidos) ahora.

sello formato (v 1)


El formato de sello actual es la versión 1. Esta herramienta puede verificar sellos de hashcash versión 0
también, pero los sellos de la versión 0 ya no se crean ya que se están eliminando gradualmente a favor de
el formato de sello v1 más extensible.

ver:los bits:datos:Recurso:[ext]:rand:mostrador

donde

ver = 1
los bits = cuántos bits de colisión parcial se afirma que tiene el sello
datos = AAMMDD [hhmm [ss]]
Recurso = cadena de recursos (por ejemplo, dirección IP, dirección de correo electrónico)
ext = extensión - ignorado en la versión actual
Formato de extensión:

[name1[=val1[,val2...]];[name2[=val1[,val2...]]...]]
Tenga en cuenta que el valor también puede contener =. Extensión de ejemplo (no una real):

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

Cuál sería la extensión name1 tiene valores 2 y 3; la extensión name2 no tiene valores;
nombre de extensión3 tiene 3 valores "var1 = 2", "var2 = 3", "2" y "val". El hashcash
la extensión puede interpretar los valores como mejor le parezca, por ejemplo, "var1 = 2" podría ser el valor
de una opción al nombre de la extensión 3.

rand = cadena de caracteres aleatorios del alfabeto a-zA-Z0-9 + / = para evitar colisiones con
sellos de otros remitentes
mostrador = para encontrar un sello con el número deseado de bits de colisión, debe probar muchos
diferentes cadenas de este contador se incrementa en cada intento. El Contador también se compone de
caracteres del alfabeto a-zA-Z0-9 + / =. (Tenga en cuenta que no se requiere una implementación para
contar secuencialmente).

Use hashcash en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

  • 1
    Alt-F
    Alt-F
    Alt-F proporciona un código abierto y gratuito
    firmware alternativo para DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F tiene Samba y NFS;
    soporta ext2 / 3/4 ...
    Descargar Alt-F
  • 2
    usm
    usm
    Usm es un paquete de slackware unificado
    gerente que maneja automático
    resolución de dependencia. unifica
    varios repositorios de paquetes, incluidos
    slackware, flojo, p...
    Descargar usm
  • 3
    Chart.js
    Chart.js
    Chart.js es una biblioteca Javascript que
    permite a los diseñadores y desarrolladores dibujar
    todo tipo de gráficos usando HTML5
    elemento de lienzo Chart js ofrece una gran
    matriz ...
    Descargar Chart.js
  • 4
    iReport-Designer para JasperReports
    iReport-Designer para JasperReports
    NOTA: Compatibilidad con iReport/Jaspersoft Studio
    Anuncio: a partir de la versión 5.5.0,
    Jaspersoft Studio será el oficial
    cliente de diseño para JasperReports. yo reporto
    será...
    Descargar iReport-Designer para JasperReports
  • 5
    PostInstaladorF
    PostInstaladorF
    PostInstallerF instalará todos los
    software que Fedora Linux y otros
    no incluye por defecto, después
    ejecutando Fedora por primera vez. Su
    fácil para ...
    Descargar PostInstallerF
  • 6
    rastro
    rastro
    El proyecto strace se ha trasladado a
    https://strace.io. strace is a
    diagnóstico, depuración e instrucción
    rastreador de espacio de usuario para Linux. Esta usado
    para monitorear un...
    Descargar seguimiento
  • Más "

Comandos de Linux

Ad