EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

hashcash - Online în cloud

Rulați hashcash în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda hashcash care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


hashcash - instrument hashcash anti-spam / refuz de serviciu

REZUMAT


Mentă (crea) timbre:

hashcash -m [ [ Opțiuni ] [ resursă ... ] ... ]

Verifica timbre:

hashcash -c [ [ Opțiuni ] -r resursă ... ] [ ștampila ... ]

Viteză estimări:

hashcash -s [ Opțiuni ] [ -b biţi ]

epurare Bază de date:

hashcash -p acum [ -j resursă ] [ -k ] [ -t timp ] [ -u ]

Conta coliziune biți:

hashcash -w [ Opțiuni ] [ ștampila ... ]

Obține resursă Nume:

hashcash -n [ Opțiuni ] [ ștampila ... ]

Obține timp rămas până la expirare

hashcash -l [ Opțiuni ] -e perioadă [ ștampila ... ]

DESCRIERE


Hashcash este un instrument de contramăsuri pentru refuzul serviciului. Principala sa utilizare actuală este de a ajuta
Utilizatorii de hashcash evită să piardă e-mailurile din cauza anti-spam-ului bazat pe conținut și pe lista neagră
sisteme.

Instrumentul hashcash vă permite să creați ștampile hashcash pentru a le atașa la e-mailurile pe care le trimiteți și
pentru a verifica ștampilele hashcash atașate e-mailurilor pe care le primiți. Expeditorii de e-mail atașează hashcash
timbre cu antetul X-Hashcash:. Furnizorii și autorii instrumentelor anti-spam sunt încurajați
pentru a scuti corespondența trimisă cu hashcash din listele negre și regulile de filtrare bazate pe conținut.

O ștampilă hashcash constituie o dovadă de lucru care necesită o cantitate de muncă parametrizabilă
pentru a calcula pentru expeditor. Destinatarul poate verifica timbrele primite în mod eficient.

Funcția hashcash proof-of-work este de a calcula coliziunile hash parțiale (hash-ul SHA1
este utilizată funcția). Prin alegerea numărului de biți de coliziune, munca necesară
calcularea unei coliziuni poate deveni arbitrar costisitoare -- de la fracțiuni de secundă la
minute sau ore. Verificarea este eficientă, necesitând același cost mic
dimensiunea coliziunii.

Pentru o discuție mai detaliată despre alte aplicații, a fost folosit hashcash pentru a vedea
http://www.hashcash.org/

UTILIZARE NOTE


În această pagină de manual, un nume de resursă este numele serviciului sau adresa este ștampila
creat pentru. În cazul e-mailului, numele resursei este adresa de e-mail a destinatarului
forma [e-mail protejat].

baterea timbre

-m steagul trebuie dat pentru a bate o ștampilă.

Numele resursei (adresa de e-mail a destinatarului) pentru care să bată ștampila poate fi transmis ca
un argument, sau dacă este omis este citit din stdin. Dacă stdin este un tty, utilizatorul este solicitat dacă
stdin este o conductă, numele resursei este doar citit în tăcere. Dimensiunea dorită a coliziunii poate
fi specificat cu opțiunea -b. Dacă nu este specificată nicio dimensiune a coliziunii, valoarea implicită este 20
biți. Vezi și -b lipsă opțiune.

Control timbre

-c trebuie dat steag pentru a verifica expirarea timbrelor. Ştampila de verificat poate fi dată ca un
argument la „hashcash”. Dacă nu este dată ștampila, ștampila este citită din stdin. Dacă stdin este a
tty utilizatorul va fi solicitat, dacă stdin este o conductă, ștampila este doar citită în tăcere. A
numele resursei (adresa de e-mail a destinatarului) poate fi dat cu -r opțiune. În cazul în care o
numele resursei este dat numele resursei este comparat cu numele resursei din ștampilă, dacă
nu se potrivesc, ștampila este respinsă.

Notă: dacă nu este dat niciun nume de resursă, ștampila este oricum verificată pentru a vedea dacă este altfel
valabil, dar ar putea fi bătut pentru o altă resursă, care ar permite timbrelor să fie
reutilizat în diferite resurse, astfel încât hashcash va returna codul de ieșire neverificat la ieșire.

Timbrele sunt considerate implicit valabile 28 de zile. Perioada de valabilitate poate fi
schimbat folosind -e steag.

Dacă ștampila a expirat sau are o dată în viitor ștampila este respinsă și programul
iese imediat.

Dacă o dimensiune de coliziune necesară este dată cu -b steag, se calculează valoarea timbrelor și
comparativ, dacă ștampila are valoare insuficientă este respinsă, iar programul se iese
imediat. Dacă -b nu este dat, ștampila este verificată pentru a vedea dacă este altfel
valid, dar hashcash va returna codul de ieșire neverificat la ieșire.

Dacă ștampila este cheltuită de două ori, ștampila este respinsă. Protecția dublă a cheltuielilor este
discutat mai detaliat mai jos în „Protecția dublei cheltuieli”. Dacă cheltuieli duble
protecția nu este activată, ștampila ar putea fi cheltuită dublu, așa că hashcash-ul va reveni
cod de ieșire nebifat (codul de ieșire 2) la ieșire.

-w flag poate fi folosit pentru a solicita numărarea numărului de biți ai coliziunii
și afișat. The -n flag poate fi folosit pentru a solicita ca numele resursei din ștampilă să fie
analizat și afișat. The -l flag poate fi folosit pentru a solicita numărul de secunde până la
expirarea ștampilei este scoasă.

Programul va returna coduri de ieșire valide sau invalide numai dacă -c este folosit steag, the -b
este folosit steagul, -d, -r resursă sunt utilizate. Acestea sunt setul minim de opțiuni necesare pentru
verifica pe deplin valabilitatea unei ștampile. Dacă aceste criterii nu sunt îndeplinite, programul o va face
retur codul de ieșire nebifat (codul de ieșire 2) la ieșire. (Vezi, de asemenea, -y steag.)

dublu Cheltuire Protecţie

În cazul în care -d steag este folosit la verificarea timbrelor, se păstrează o bază de date a timbrelor uzate.

În mod implicit, ștampilele expiră după 28 de zile, fără expirare baza de date ar crește
nedefinit. Puteți specifica o perioadă de expirare alternativă cu -e steag. The
perioada de expirare recomandată (și implicită) pentru e-mail este de 28 de zile. După perioada de expirare
timp, ștampila este oricum considerată expirată și poate fi eliminată din baza de date
pentru a economisi spațiu. (Consultați „Epurarea periodică vs la următorul acces” pentru cum să curățați ștampilele.)

Din motive de eficiență, o ștampilă este verificată înainte de a fi verificată în baza de date; dacă este
în caz contrar, nu va avea loc nicio activitate a bazei de date.

Notă: Decizia cu privire la cât timp trebuie considerată valabilă ștampila este la latitudinea
verificator. Dacă este prea scurt, este posibil pentru unele aplicații ca ștampila să o facă
expiră înainte de a ajunge la destinatar (de exemplu, cu e-mail.) Valoarea sugerată de 28 de zile
ar trebui să fie în siguranță pentru întârzierile normale de livrare a e-mailului. Alegerea este un compromis între
dimensiunea bazei de date și riscul de expirare înainte de sosire și depinde de aplicație.

Notă: timbre diferite din aceeași bază de date pot avea perioade de valabilitate diferite, deci pentru
pot fi stocate ștampile de exemplu pentru diferite resurse cu perioade de valabilitate diferite
aceeași bază de date, sau destinatarul poate modifica perioada de valabilitate pentru ștampile viitoare
fără a afecta valabilitatea timbrelor vechi.

Purjare Periodic vs on Pagina Următoare → Acces

Pentru a curăța ștampile vechi periodic în timp ce verificați ștampile, utilizați -p perioadă opțiunea de purjare
nu mai devreme de perioada dată de la ultima epurare. Purgerea poate fi utilizată cu
-k opțiunea de a curăța și ștampilele neexpirate și cu -j resursă steag pentru a purja numai
ștampile pentru resursa dată.

Există circumstanțe în care ar putea fi incomod să curățați ștampile la următorul acces,
de exemplu, dacă există o bază de date mare de cheltuieli duble, care durează ceva timp pentru a curăța și
timpul de răspuns al verificatorului hashcash este important. Pentru a evita această problemă, purjare
se poate face separat folosind doar -p acum opțiunea de a solicita doar operațiunea de purjare.
Pe Unix, de exemplu, puteți apela „hashcash -p now” într-o lucrare cron o dată pe zi, sau pe
cererea când discul era scăzut.

Viteză estimările

-s flag solicită măsurarea câte coliziuni pot fi testate pe secundă. Nu
ștampila este bătută sau verificată.

În cazul în care -b flag este folosit cu această opțiune, în schimb o estimare a câte secunde ar avea
ia pentru a bate o ștampilă de dimensiunea dată în biți este calculată. Pentru a afla cât timp este
va trebui să bată o ștampilă de dimensiune implicită -s -b lipsă.

notițe

Toate ieșirile informaționale sunt tipărite pe stderr. Timbre bătute și rezultatele ștampilei
verificarea și sincronizarea sunt tipărite pe stdout. Steagul liniștit -q suprimă totul
ieșire informațională. The -v flag solicită mai multe informații. Cele solicitate
ieșire, care este singura informație care este scoasă în modul silențios (când -q este specificat)
este tipărită pe ieșire standard. Dacă stdout este o conductă sau când modul silențios este activ,
ieșirea este tipărită fără descriere (adică doar biți, doar secunde, doar resursă).

OPŢIUNI


-c Verificați informațiile de expirare ale ștampilelor date ca argument sau pe stdin. (Foloseste cu
-b, -d și -r resursă pentru a verifica complet timbrele).

-m Mint timbre cu resursele date ca argumente sau pe stdin.

-b biţi
Când bateți o ștampilă, creați o coliziune de cel puțin atât de mulți biți. La verificarea a
ștampila necesită ca acesta să aibă o coliziune de cel puțin acesti biți, altfel respingeți
aceasta. Dacă este omisă, se utilizează implicit.

Când verificați ștampile, cereți ca ștampilele să aibă atât de mulți biți.

Numărul implicit de biți poate fi specificat cu -b lipsă. Biți relativ la
implicit poate fi specificat și cu -b +n pentru n biți mai mult decât valoarea implicită și -b -n
pentru n biți mai puțin decât valoarea implicită.

-b lipsă, -b +0 și -b -0 sunt toate echivalente.

Când faceți testul de viteză -s, poate măsura viteza jetonului implicit -s -b
lipsă.

-r resursă
Când bateți ștampile, numele resursei (adresa de e-mail a destinatarului) pentru a bate ștampila
contra poate fi dat fie cu -r resursă sau ca argument la „hashcash”.

La verificarea ștampilelor, numele resursei (propria adresă de e-mail) este dat cu -r
opțiune. Dacă numele resursei este dat, acesta este verificat cu numele resursei din
ștampila, iar dacă nu se potrivesc ștampila este respinsă. Rețineți dacă numele resursei este
nedate, timbrele pentru alte resurse ar fi acceptate și, prin urmare, hashcash
returnează codul de ieșire nebifat (codul de ieșire 2) la ieșire.

-o La verificarea ștampilelor pot fi date mai multe resurse. Implicit resursele sunt
doar verificat unul câte unul până când este găsită o resursă validă potrivită. Cu toate acestea, când tu
utilizați metacaractere sau expresii regulate (vezi -E), este util să se poată preciza că
o resursă trece peste alta. De exemplu asta: -b15 -r [e-mail protejat] -o -b10
*@dev.null afirmă că e-mail la adresa [e-mail protejat] necesită 15 biți, dar e-mail către
*@dev.null necesită doar 10 biți. Dacă am omis -o depășește relația dintre
cele două resurse, o ștampilă de 10 biți ar fi acceptată pentru adresă [e-mail protejat]
pentru că, în timp ce ar fi respins ca având biți insuficienti conform primei reguli,
ar fi acceptat sub regula a 2-a. The -o opțiunea vă permite să evitați această problemă.

-e timp
Perioada de expirare a timbrelor uzate. În timpul verificării ștampilelor (folosind -c steag), dacă
ștampila a fost bătută cu mai mult timp decât perioada specificată în urmă, este considerată expirată.
Dacă această opțiune nu este utilizată, în mod implicit ștampilele expiră după 28 de zile. Perioada de expirare
este dat implicit în secunde (un argument de 0 înseamnă pentru totdeauna). Un singur personaj
sufixul poate fi folosit pentru a specifica unități alternative (m = minute, h = ore, d = zile, M =
luni, y = Y = ani și s = secunde).

Dacă este folosit cu -d opțiunea, ștampila uzată și perioada de expirare a acesteia se înregistrează în
Bază de date. Vezi -p opțiune pentru descrierea modului de curățare a ștampilelor din baza de date.

În timp ce bate timbre, cel -e flag poate avea un efect asupra rezoluției timpului creat
în timbru. Fara -e opțiunea, rezoluția implicită este zile (format de timp:
AAAMMDD). Formatele alternative bazate pe intervalul perioadei de expirare sunt următoarele:

În timp ce bateți, puteți da, de asemenea, o lățime de timp explicită cu -z opțiune în schimb.
(-z suprascrie -e dacă ambele sunt date. Dacă niciunul nu este dat, valoarea implicită este de 6 caractere (timp
format: YYMMDD)).

Regulile pentru determinarea automată a lățimii de timp corespunzătoare de la -e daca nu -z opțiune
este dat sunt:

* perioada >= 2 ani, apoi formatul de timp YY este utilizat rotunjit în jos la cel mai apropiat an
start;
* 2 ani < perioada <= 2 luni, apoi formatul de timp YYMM este utilizat rotunjit în jos la
cea mai apropiată lună de început;
* 2 luni < perioada <= 2 zile, apoi formatul de timp YYMMDD este utilizat rotunjit în jos la
începutul celei mai apropiate zile;
* 2 zile < perioada <= 2 minute, apoi formatul de timp AAAMMDDhhmm este rotunjit în jos la
începutul celui mai apropiat minut;
* perioada < 2 minute, apoi formatul de timp YYMMDDhhmmss este folosit în secunde.

Rețineți că rotunjirea în jos se bazează pe ora UTC, nu pe ora locală. Acest lucru poate duce la
rezultate inițial surprinzătoare atunci când se rotunjesc în jos la, de exemplu, zile în alte fusuri orare decât GMT
(UTC = GMT). Poate fi mai clar de înțeles dacă utilizați -u opțiune.

-z lățime
-z opțiunea este pentru utilizare în timpul baterii și permite utilizatorului alegerea lățimii lățimii de timp
camp. Vezi și -e opțiune dată în combinație cu -m pentru a specifica un implicit
lățimea câmpului de timp sub descrierea -e steag. Lățimile valide sunt 6,10 sau 12
caractere corespunzătoare, respectiv: YYMMDD, YYMMDDhhmm și AYMMDDhhmmss rotunjite în jos
până la cea mai apropiată zi sau, respectiv, minut.

Rețineți că rotunjirea în jos se bazează pe ora UTC, nu pe ora locală. Acest lucru poate duce la
rezultate inițial surprinzătoare atunci când se rotunjesc în jos la, de exemplu, zile în alte fusuri orare decât GMT
(UTC = GMT). Poate fi mai clar de înțeles dacă utilizați -u opțiune.

-g perioadă
-g opțiunea este de utilizată atunci când verificați ștampilele hashcash cu -c opțiune și
specifică o perioadă de grație pentru deformarea ceasului, adică dacă o ștampilă hashcash sosește cu o dată în
viitorul sau în trecut nu va fi respins ca având o dată futuristă (sau ca
fiind expirat) cu excepția cazului în care este mai futurist (sau a fost expirat mai mult timp) decât acesta
perioadă. Valoarea implicită este 2 zile, ceea ce înseamnă atât timp cât este ceasul sistemului de trimitere
cu cel mult 2 zile înainte (sau cu 2 zile în urmă) față de ceasul sistemului de recepție,
ștampila hashcash va fi în continuare acceptată.

Unitățile implicite pentru perioada de grație sunt secunde. Se poate folosi un singur sufix de caractere
pentru a specifica unități alternative (m = minute, h = ore, d = zile, M = luni, y = Y =
ani și s = secunde).

-d Stocați timbrele într-o bază de date cu cheltuieli duble. Dacă ștampila a fost văzută înainte, va fi
respins chiar dacă este altfel valabil. Fișierul implicit al bazei de date este baza de date.sdb in
directorul curent. În baza de date vor fi stocate numai ștampile valabile în caz contrar.
Doar ștampilele complet validate vor fi stocate în baza de date, cu excepția cazului în care -y opțiunea este
dat.

-f dbname
Utilizare dbname în loc de numele de fișier implicit pentru baza de date cu cheltuieli duble.

-p perioadă
Curăță baza de date de ștampile expirate dacă perioada de timp dată a trecut de la
ultima dată a fost epurat. Ca o comoditate -p acum este echivalent cu -p 0 amândouă
curățare medie acum, indiferent de momentul în care baza de date a fost curățată ultima dată.

Dacă este utilizat în combinație cu -j resursă doar timbrele bătute pentru resursa dată
sunt epurate.

Dacă este utilizat în combinație cu -k toate ștampilele, chiar și ștampilele care nu au expirat, sunt curățate. Poate fi
folosit in combinatie cu -t timp să expire ca și cum ora curentă ar fi ora dată.

-k Utilizați cu opțiunea -p pentru a solicita ca toate ștampilele să fie curățate și nu doar cele expirate.

-j resursă
Utilizați cu opțiunea -p pentru a solicita ca doar ștampilele care se potrivesc cu numele resursei date
să fie curățat, mai degrabă decât implicit, care este curățarea tuturor ștampilelor expirate. Dacă
numele resursei este șirul gol, toate ștampilele sunt potrivite (acesta este echivalent cu
omiterea -j opțiune).

Rețineți -E, -M și -S tipul de steaguri de potrivire se aplică și resurselor date cu -j
resursă steag.

-s Imprimați numai informații despre sincronizare și nu continuați la crearea unei ștampile. Dacă este combinat cu
-b biţi tipărirea steagului estimare a cât timp ar dura dimensiunea de coliziune solicitată
calculează, dacă -s dat de la sine, imprimă doar viteza detectorului de coliziuni. La imprimare
o estimare a duratei de utilizare a numărului implicit de biți -b lipsă.

-h Imprimați informații scurte de utilizare.

-v Tipăriți informații mai detaliate despre baterea sau verificarea ștampilei. (Dacă
-v este singurul argument, tipărește numărul versiunii instrumentului.)

-V Imprimă numărul versiunii instrumentului.

-q Modul lot. Nu tipărește nicio altă informație decât rezultatul. Această opțiune înlocuiește -v
opțiune.

-X La batere, tipărește antetul X de e-mail hashcash „X-Hashcash:” înainte de ștampilă.
Fără această opțiune este imprimată doar ștampila goală.

La verificare, după scanarea ștampilelor date ca argumente, scanează stdin pentru linii
începând cu șirul „X-Hashcash:” și folosește restul liniei de potrivire ca
timbru. Sunt scanate doar liniile până la și care se termină la prima linie goală (vezi și
-i flag care poate fi folosit pentru a înlocui acest lucru). O linie goală este separatorul folosit pentru
separați anteturile de corpul unui mesaj de e-mail sau al unui articol USENET. Aceasta este menită
pentru a face convenabil să trimiteți un mesaj de e-mail sau un articol USENET către hashcash pe stdin.

-x extensie
Un șir de extensie compus din seturi de valori de nume. Este descris formatul extensiei
mai jos în secțiunea despre formatul ștampilei hashcash. Acest lucru permite utilizatorilor să-și definească
propriile extensii de ștampilă care sunt introduse în ștampilă, verificate de destinatari că
le susțin și ignorate de destinatarii care nu le susțin. Observați extensia
mecanismul de cârlig nu a fost încă implementat. Aceasta va veni într-o ediție ulterioară.

-i Când verificați și utilizați -X flag, ignorați limita liniei goale dintre anteturi
și corpul mesajului și verificați dacă există o coliziune în corp dacă nu este găsită
în anteturi.

-t timp
Pretindeți-vă că ora curentă este ora dată în scopul baterii timbrelor, verificării
ștampile și ștergerea ștampilelor vechi din baza de date. Ora este dată într-un format bazat pe
Format UTCTIME YYMMDD[hhmm[ss]].

Ora este exprimată implicit în ora locală. Foloseste cu -u flag pentru a da ora în UTC
(GMT).

De asemenea, puteți da timpul relativ la ora curentă prefixând argumentul cu +
sau -. Unitățile implicite pentru timpul relativ sunt secunde. Un singur sufix de caracter poate
poate fi utilizat pentru a specifica unități alternative (m = minute, h = ore, d = zile, M = luni, y =
Y = ani și s = secunde).

Notă: când ora este exprimată în ora locală, dacă există ora de vară la dvs
fus orar, există una sau două ore ambigue pe an la momentul schimbării de la
ora de vară până la ora normală.

-u Introduceți și ieșiți ore absolute în UTC (GMT) în loc de ora locală.

-a perioadă
Adăugați (sau scădeți dacă numărul este negativ) o valoare aleatorie din timpul curent anterior
baterea timbrului. Aceasta ascunde momentul în care a fost creată ștampila, ceea ce poate fi util pentru
utilizatori anonimi. Rețineți că adăugarea (mai degrabă decât scăderea) unui timp aleatoriu poate fi riscantă dacă
ștampila durează mai puțin decât timpul adăugat pentru a ajunge, deoarece destinatarul va respinge ștampile
cu timbre de timp în viitor.

-n Imprimați numele resursei analizat de la ștampila în curs de verificare. Returnează codul de ieșire nebifat
Ieșire.

-l Imprimați numărul de secunde rămase înainte ca ștampila să expire. Returnează codul de ieșire nebifat
Ieșire.

Notă: calculul include perioada de grație, deci poate fi de până la 2 ori perioada de grație
mai mult decât v-ați aștepta altfel (ceasul este rapid, dar sistemul trebuie să presupună că ar putea
fi lent). Dacă doriți să excludeți perioada de grație adăugați -g0 pentru a seta perioada de grație la 0
pentru calcul.

-w Tipăriți numărul de biți de coliziune a ștampilei. Returnează codul de ieșire nebifat la ieșire.

-y Returnează succes dacă ștampila este validă chiar dacă nu este complet verificată. Foloseste cu -c
unde nu toate -d, -r sunt specificate pentru a obține codul de ieșire de succes pe valid dar parțial
ștampila verificată. În mod similar, se poate folosi cu -n, -l, -w cu acelasi efect.

-M Când verificați ștampile, permiteți wildcard * potrivirea în numele resursei pentru a o face
mai simplu de a specifica mai multe adrese de e-mail și de a permite potrivirea adreselor catch-all
și adrese, inclusiv subdomenii. Aceasta este valoarea implicită. Vezi si -S, -E și -C

-S Când verificați ștampile, utilizați un text simplu pentru a compara numele resurselor cu cele din
timbre. Vezi si -M, -E și -C.

-E Când verificați ștampile, utilizați expresii regulate pentru a specifica numele resurselor pentru a le crea
mai simplu de specificat mai multe adrese de e-mail, adrese catch-all, clase de extensie
adrese și adrese, inclusiv subdomenii. Rețineți că sintaxa expresiei regulate este POSIX
stil: caracterele speciale nu trebuie citate pentru a avea semnificația lor specială; dar
ele trebuie să fie citate cu \ la acel caracter din șirul căutat. The
expresia regulată are automat ^ adăugat la început și $ adăugat la sfârșit,
dacă nu sunt specificate. Caracterele speciale ^ se potrivesc cu începutul
resouce, iar $ se potrivește cu sfârșitul resursei.

(Rețineți că, chiar dacă este compilat cu expresii regulate BSD, este folosită sintaxa stilului POSIX; de asemenea
rețineți că expresiile regulate BSD nu acceptă intervalele {}.)

-C În mod implicit, resursele sunt canonizate cu litere mici la batere și la verificare. The
-C flag îl înlocuiește astfel încât resursele să fie tratate ca fiind sensibile la majuscule și minuscule la verificare,
si nu canonizat la batere.

-P Imprimați informații despre progresul (număr de iterații, iterații așteptate, procentaj realizat, cel mai bun
dimensiunea ștampilei găsite până acum).

-O CORE
Selectați hashcash core cu acel număr. În prezent, 0-9 sunt nuclee valide. Nu toate nucleele
lucrează la toate arhitecturile. De exemplu, unele sunt asamblare specifice x86, altele specifice PPC
asamblator. Dacă un nucleu nu este valid, hashcash returnează eșec și explică ce
s-a întâmplat.

-Z n
Comprimați ștampila. Acesta este un schimb între timp și spațiu. Timbrele mai mari sunt mai rapide, dar
probabil ușor urâtă. Pentru cele mai rapide ștampile (prestabilit) utilizați -Z 0; pentru parțial
timbrele comprimate folosesc -Z 1; pentru ștampile foarte comprimate, dar oarecum lente folosesc -Z 2.
(Notă: din cauza unei erori descoperite cu întârziere, -Z2 este același cu -Z1 deocamdată până când voi putea remedia
acea.)

EXEMPLE


Crearea timbre

"hashcash -s"
Tipăriți informații de sincronizare despre câte coliziuni poate încerca aparatul pe secundă.

"hashcash -sv"
Evaluare comparativă mai precisă, dar destul de lentă, a diferitelor modele specifice procesorului
culori.

„hashcash -s -b implicit”
Imprimați cât timp i-ar lua mașinii să calculeze o coliziune cu dimensiunea implicită (dar
nu calculați de fapt o coliziune).

„hashcash -s -b 32”
Imprimați cât timp i-ar lua mașinii să calculeze o coliziune pe 32 de biți (dar nu
calculează efectiv o coliziune).

"hashcash -m"
Bateți o ștampilă. Va solicita numele resursei și menționarea cu valoarea implicită (număr de
biți de coliziune).

"hashcash -m foo"
Calculați coliziunea pe resursa foo. Se va bate cu valoarea implicită (numărul de coliziuni
biți).

„hashcash -m foo -b 10”
Calculați coliziunea pe 10 biți pe resursa foo.

"hashcash -a -3d"
Scădeți un timp aleatoriu cuprins între 0 și 3 zile din momentul creării ștampilei.
Acesta este același factor fuzz folosit de mixmaster pentru a reduce riscul de corelații de sincronizare.

examinator Timbre

"hashcash -w 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Raportați valoarea ștampilei (câți biți de coliziune) există. Exemplul este
o coliziune pe 24 de biți, care durează în medie 25 de secunde pentru a se crea pe un P3 de 4 Ghz.

„hashcash -mq -b 10 foo ⎪ hashcash -w”
Creați o ștampilă în modul lot, treceți la hashcash pe stdin pentru a verifica, lăsați-l să imprime cum
au fost multe bucăți.

"hashcash -n 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Raportați numele resursei din ștampilă. Numele resursei din exemplu este foo.

"hashcash -l -e 30y 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Raportați cât timp expiră ștampila dacă expiră în 30 de ani de la crearea ei
Data. (Rețineți că datele prea îndepărtate în viitor ajung la sfârșitul anului 2038 al Epocii, adică
analogul timpului Unix al bug-ului Y2k).

verificarea Timbre

"hashcash -c 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Verificați dacă ștampila este valabilă. Rețineți că nu verificăm ștampila într-o cheltuială dublă
baza de date și nu a specificat un nume de resursă sau numărul necesar de biți de coliziune
și hashcash va considera ștampila neverificată complet și o va raporta ca fiind valabilă
dar nu este complet debifat sau ca nevalid dacă există vreo problemă cu ștampila.

"hashcash -c -b24 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Verificați dacă valoarea ștampilei este mai mare sau egală cu 24 de biți. Acest exemplu are 24
valoare de biți. Dacă măriți numărul solicitat de biți sau înlocuiți ștampila cu una
cu o coliziune mai mică de 24 de biți ștampila va fi respinsă.

„hashcash -c -b24 -r foo 1:24:040806:foo::511801694b4cd6b0:1e7297a”
Ca mai sus, verificați dacă ștampila are o valoare suficientă, dar în plus verificați dacă ștampila
numele resursei dat se potrivește cu numele resursei din ștampilă.

dublu Cheltuire Prevenirea

Exemplele date în „Verificarea ștampilelor” pot fi modificate pentru a păstra o bază de date cu cheltuieli duble
astfel încât aceeași ștampilă să nu fie acceptată de două ori. Rețineți că o ștampilă va fi înregistrată numai
și adăugată la baza de date dacă este validă și verificată complet (un număr necesar de
biți de coliziune au fost specificați și a fost specificată o resursă).

„hashcash -cd -b 10 -r foo 1:24:040806:foo::511801694b4cd6b0:1e7297a”
Verificați ștampila și adăugați la baza de date dublu cheltuită dacă este validă (are resursa corectă
nume și valoare suficientă).

„hashcash -cd -b 10 -r foo 1:24:040806:foo::511801694b4cd6b0:1e7297a”
Încercați să cheltuiți timbrul de două ori. Va fi respins ca fiind dublu cheltuit.

Timbru Expirare

Pentru a preveni creșterea nedefinită a bazei de date cu cheltuieli duble, destinatarul poate solicita acest lucru
timbrele să nu fie mai vechi de o perioadă specificată. După expirare, ștampilele vechi pot scăpa din
Baza de date cu cheltuieli duble, deoarece acestea nu vor mai fi necesare -- timbrele expirate pot fi respinse
bazat exclusiv pe data lor veche, deci spațiul ocupat de timbrele expirate în cheltuirea dublă
baza de date poate fi salvată fără riscul de a accepta o ștampilă expirată, deși altfel valabilă.

Al treilea câmp al ștampilei este ora UTC de la 1 ianuarie 1970. Ora implicită
formatul este AAAMMZZ, ora rotunjită la cea mai apropiată zi. Perioada de valabilitate implicită este 28
zile.

Puteți oferi o perioadă de valabilitate alternativă cu -e opțiune.

"hashcash -cd -b 10 -e 2d -r foo 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Încercați să verificați o ștampilă veche, ștampila de mai sus a fost creată la 11 august 2002.

Noi am dat opțiune -e 2d deci data de expirare a timbrelor este la 2 zile de la creare, care este acum
în trecut.

Notă: dacă timpul de creare este exprimat în ștampilă în zile, creația precisă
data este începutul zilei specificate în ora UTC (în mod similar pentru unitățile alternative
timpul de creare se rotunjește în jos la începutul unității în care este exprimat).
Pentru unitățile în zile, de exemplu, acest lucru poate însemna, în funcție de fusul dvs. orar, că
ștampila pare a fi considerată invalidă în perioada de expirare specificată în zile
raportat la viziunea dvs. relativă a zilei, deoarece se bazează calculul
ora curentă în UTC, iar ora de creare a ștampilei este exprimată în ora UTC.

„hashcash -cd -b 10 -r foo 1:24:040806:foo::511801694b4cd6b0:1e7297a”
Verificați dacă ștampila este valabilă altfel, în afară de faptul că a expirat. Omitând -e
îi spune hashcash că ștampila nu va expira niciodată. O perioadă de expirare pentru totdeauna poate, de asemenea
fi dat în mod explicit astfel: -e 0, unde o perioadă de expirare de 0 înseamnă pentru totdeauna.

Purjare vechi timbre

În cazul în care -c, -d opțiunile sunt utilizate împreună, de fiecare dată când se bifează o ștampilă, dacă este valabilă și
toate aspectele obligatorii ale ștampilei sunt verificate (verificarea biților de coliziune, resursa
verificarea numelui), apoi ștampila și perioada de expirare a acesteia sunt scrise în fișierul bazei de date. The
perioada de expirare implicită dacă o perioadă de expirare nu este specificată în mod explicit cu -e opțiunea este 28
zile (adică timbrele expiră după 4 săptămâni).

Mai întâi mentă și apoi adaugă o ștampilă:

„hashcash -m -b 10 foo -e 1m > stamp”
Notă: am specificat o expirare la batere în acest exemplu, pentru a ne asigura că ștampila
timpul de creare este dat într-o rezoluție suficient de mare în ștampilă pentru ca ștampila să nu o facă
să fie considerat expirat la momentul creării. (Reamintim că rezoluția implicită este în zile,
o ștampilă creată cu un timp de creație rotunjit până la începutul zilei este
este puțin probabil să fie considerat valid 1 minut mai târziu, cu excepția cazului în care îl bateți la miezul nopții UTC
timp.)

"hashcash -cd -e 1m -b 10 -r foo < stamp"
Ștampila expiră în 1 minut. Așteptați 1 minut și apoi solicitați în mod explicit că a expirat
timbrele să fie curățate:

"hashcash -p acum"
Apoi încercați să retrimiteți aceeași ștampilă:

"hashcash -cd -e 1m -b 10 -r foo < stamp"
iar ștampila va fi oricum respinsă deoarece a expirat, ilustrând de ce nu a fost
necesară păstrarea acestei ștampile în baza de date.

Cu baza de date implicită (formatul sdb), conținutul bazei de date poate fi citit de om,
astfel încât să le puteți vizualiza conținutul prin direcționarea lor către terminal:

„cat hashcash.sdb”
pentru a vedea că ștampila este într-adevăr adăugată și apoi după curățare ulterior curățată din cauza
expirare.

Purjare vechi timbre on Cerere

Pentru comoditate, puteți curăța în același timp cu verificarea ștampilelor folosind -p opțiune
cu -c opțiune.

„hashcash -m -b 10 foo > stamp”
"hashcash -cd -p now -e 1 -b 10 -r foo < stamp"
Ar putea fi ineficient să curățați ștampile la fiecare utilizare, așa cum trebuie să fie întreaga bază de date
scanate pentru ștampile expirate. Prin acordarea unei perioade de timp -p opțiune, poți spune
„hashcash” pentru a curăța nu mai des decât acea perioadă de timp de la curățarea anterioară.

De exemplu:

"hashcash -cd -p 1d -e 1 -b 10 -r foo < timbru"
îi spune lui „hashcash” să curețe toate timbrele expirate nu mai mult de o dată pe zi.

"hashcash -p 1M -j foo"
spune „hashcash” să curețe numai ștampilele expirate care se potrivesc cu resursa foo o dată pe lună.

"hashcash -p acum -k"
îi spune lui „hashcash” să curețe toate ștampilele (expirate și neexpirate) acum.

ștampila format (versiune 1)


Formatul actual de ștampilă este versiunea 1. Acest instrument poate verifica ștampilele din versiunea 0 hashcash
de asemenea, dar ștampilele din versiunea 0 nu mai sunt create, deoarece sunt eliminate treptat în favoarea
formatul de ștampilă v1 mai extensibil.

Ver:biţi:data:resursă:[ext]:rand:contracara

Unde

Ver = 1
biţi = câți biți de coliziune parțială se pretinde că are ștampila
data = YYMMDD[hhmm[ss]]
resursă = șir de resurse (de exemplu, adresa IP, adresa de e-mail)
ext = extensie -- ignorată în versiunea curentă
Formatul extensiei:

[name1[=val1[,val2...]];[name2[=val1[,val2...]]...]]
Rețineți că valoarea poate conține și =. Exemplu de extensie (nu una reală):

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

Care ar fi extensia nume1 are valorile 2 și 3; extensia nume2 nu are valori;
extensia nume3 are 3 valori „var1=2”, „var2=3”, „2” și „val”. Hașișul
extensia poate interpreta valorile așa cum consideră potrivit, de exemplu, „var1=2” ar putea fi valoarea
a unei opțiuni la numele extensiei3.

rand = șir de caractere aleatorii din alfabetul a-zA-Z0-9+/= pentru a evita coliziunile cu
timbrele celuilalt expeditor
contracara = pentru a găsi o ștampilă cu numărul dorit de biți de coliziune trebuie să încercați o mulțime de
șiruri diferite, acest contor este incrementat la fiecare încercare. Contorul este, de asemenea, compus din
caractere din alfabetul a-zA-Z0-9+/=. (Rețineți că nu este necesară o implementare
numărați secvențial).

Utilizați hashcash online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    Alt-F
    Alt-F
    Alt-F oferă o sursă gratuită și deschisă
    firmware alternativ pentru DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F are Samba și NFS;
    suportă ext2/3/4...
    Descărcați Alt-F
  • 2
    usm
    usm
    Usm este un pachet slackware unificat
    manager care se ocupă automat
    rezolvarea dependenței. Se unifică
    diverse depozite de pachete, inclusiv
    slackware, slacky, p...
    Descărcați usm
  • 3
    Chart.js
    Chart.js
    Chart.js este o bibliotecă Javascript care
    permite designerilor și dezvoltatorilor să deseneze
    tot felul de diagrame folosind HTML5
    element de pânză. Chart js oferă o excelentă
    matrice...
    Descărcați Chart.js
  • 4
    iReport-Designer pentru JasperReports
    iReport-Designer pentru JasperReports
    NOTĂ: Asistență iReport/Jaspersoft Studio
    Anunț: Începând cu versiunea 5.5.0,
    Jaspersoft Studio va fi oficial
    client de proiectare pentru JasperReports. raportez
    voi...
    Descărcați iReport-Designer pentru JasperReports
  • 5
    PostInstallerF
    PostInstallerF
    PostInstallerF va instala toate
    software pe care Fedora Linux și altele
    nu include implicit, după
    rulează Fedora pentru prima dată. Este
    usor pentru ...
    Descărcați PostInstallerF
  • 6
    strace
    strace
    Proiectul strace a fost mutat la
    https://strace.io. strace is a
    diagnostic, depanare și instruire
    userspace tracer pentru Linux. Este folosit
    a monitoriza un...
    Descărcați strace
  • Mai mult »

Comenzi Linux

Ad