Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

hashcash - Trực tuyến trên đám mây

Chạy hashcash trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh băm có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


hashcash - công cụ chống thư rác / từ chối dịch vụ hashcash

SYNOPSIS


Nguyên do (tạo ra) tem:

băm -m [[ lựa chọn ] [ tài nguyên ...] ...]

kiểm tra tem:

băm -c [[ lựa chọn ] -r tài nguyên ...] [ tem ...]

Tốc độ ước tính:

băm -s [ lựa chọn ] [ -b bit ]

Sự xổ cơ sở dữ liệu:

băm -p tại [ -j tài nguyên ] [ -k ] [ -t thời gian ] [ -u ]

Đếm va chạm chút ít:

băm -w [ lựa chọn ] [ tem ...]

Nhận tài nguyên tên:

băm -n [ lựa chọn ] [ tem ...]

Nhận thời gian còn lại cho đến khi hết hạn

băm -l [ lựa chọn ] -e thời gian [ tem ...]

MÔ TẢ


Hashcash là một công cụ đo lường truy cập từ chối dịch vụ. Công dụng chính hiện tại của nó là giúp
Người dùng hashcash tránh bị mất email do chống thư rác dựa trên nội dung và danh sách đen
hệ thống.

Công cụ băm cho phép bạn tạo tem băm để đính kèm vào email bạn gửi và
để xác minh tem băm được đính kèm với email bạn nhận được. Người gửi email đính kèm hashcash
đóng dấu với tiêu đề X-Hashcash:. Các nhà cung cấp và tác giả của các công cụ chống thư rác được khuyến khích
để loại bỏ thư được gửi bằng hashcash khỏi danh sách đen và các quy tắc lọc dựa trên nội dung.

Một dấu băm tạo thành một bằng chứng công việc có một lượng công việc có thể tham số hóa
để tính toán cho người gửi. Người nhận có thể xác minh tem đã nhận một cách hiệu quả.

Hàm hashcash proof-of-work là để tính toán xung đột băm từng phần (hàm băm SHA1
chức năng được sử dụng). Bằng cách chọn số lượng bit va chạm, công việc cần thiết để
tính toán một vụ va chạm có thể được thực hiện tùy ý đắt tiền - từ phần nhỏ của giây đến
phút hoặc giờ. Việc xác minh hiệu quả với cùng một chi phí nhỏ, bất kể
kích thước va chạm.

Để biết thêm thảo luận chi tiết về các ứng dụng khác, hashcash đã được sử dụng để xem
http://www.hashcash.org/

SỬ DỤNG GHI CHÚ


Trong trang người đàn ông này, tên tài nguyên là tên của dịch vụ hoặc địa chỉ mà con tem là
Tạo cho. Trong trường hợp email, tên tài nguyên là địa chỉ email của người nhận trong
hình thức [email được bảo vệ].

Bạc hà tem

Sản phẩm -m cờ phải được đưa ra để đúc một con tem.

Tên tài nguyên (địa chỉ email của người nhận) để khắc dấu có thể được chuyển thành
một đối số hoặc nếu bị bỏ qua được đọc từ stdin. Nếu stdin là tty người dùng được nhắc, nếu
stdin là một đường ống, tên tài nguyên chỉ được đọc thầm. Kích thước va chạm mong muốn có thể
được chỉ định với tùy chọn -b. Nếu không có kích thước xung đột nào được chỉ định, giá trị mặc định là 20
chút ít. Xem thêm -b mặc định tùy chọn.

Kiểm tra tem

Sản phẩm -c cờ phải được đưa ra để kiểm tra tem hết hạn sử dụng. Con dấu để kiểm tra có thể được cung cấp như một
đối số thành "hashcash". Nếu không có tem nào được đưa ra, tem được đọc từ stdin. Nếu stdin là một
tty người dùng sẽ được nhắc, nếu stdin là một đường ống, tem chỉ được đọc thầm. MỘT
tên tài nguyên (địa chỉ email của người nhận) có thể được cung cấp với -r Lựa chọn. Nếu một
tên tài nguyên được cung cấp tên tài nguyên được so sánh với tên tài nguyên trong tem, nếu
chúng không khớp, con tem bị từ chối.

Lưu ý: nếu không có tên tài nguyên nào được cung cấp, con dấu vẫn được kiểm tra xem nó có khác không
hợp lệ, nhưng nó có thể được đúc cho một tài nguyên khác, điều này sẽ cho phép tem
được sử dụng lại trên các tài nguyên khác nhau, vì vậy hashcash sẽ trả về mã thoát không được chọn khi thoát.

Tem theo mặc định được coi là có giá trị trong 28 ngày. Thời hạn hiệu lực có thể là
đã thay đổi bằng cách sử dụng -e cờ.

Nếu tem đã hết hạn hoặc có ngày trong tương lai, tem sẽ bị từ chối và chương trình
thoát ra ngay lập tức.

Nếu kích thước va chạm bắt buộc được đưa ra với -b cờ, giá trị tem được tính toán và
được so sánh, nếu tem có giá trị không chính thức thì nó bị từ chối và chương trình sẽ thoát
ngay lập tức. Nếu -b cờ không được đưa ra, con tem được kiểm tra xem nó có khác không
hợp lệ, nhưng hashcash sẽ trả về mã thoát không được chọn khi thoát.

Nếu con tem được sử dụng gấp đôi, con tem bị từ chối. Bảo vệ chi tiêu gấp đôi là
được thảo luận chi tiết hơn bên dưới trong "Bảo vệ chi tiêu gấp đôi". Nếu chi tiêu gấp đôi
tính năng bảo vệ không được bật, con tem có thể được sử dụng gấp đôi, vì vậy hashcash sẽ trả về
mã thoát không được chọn (mã thoát 2) khi thoát.

Sản phẩm -w cờ có thể được sử dụng để yêu cầu số lượng bit của xung đột được đếm
và hiển thị. Các -n cờ có thể được sử dụng để yêu cầu tên tài nguyên trong tem là
được phân tích cú pháp và hiển thị. Các -l cờ có thể được sử dụng để yêu cầu số giây cho đến khi
hết hạn sử dụng tem là sản lượng.

Chương trình sẽ chỉ trả về mã thoát hợp lệ hoặc không hợp lệ nếu -c cờ được sử dụng, -b
cờ được sử dụng, -d, -r tài nguyên được sử dụng. Đây là tập hợp các tùy chọn tối thiểu cần thiết để
kiểm tra đầy đủ tính hợp lệ của một con tem. Nếu các tiêu chí này không được đáp ứng, chương trình sẽ
trả về mã thoát không được chọn (mã thoát 2) khi thoát. (Xem thêm -y lá cờ.)

Kép Chi Sự bảo vệ

Nếu -d cờ được sử dụng khi kiểm tra tem, một cơ sở dữ liệu về tem đã sử dụng được lưu giữ.

Theo mặc định, tem sẽ hết hạn sau 28 ngày, nếu không hết hạn, cơ sở dữ liệu sẽ phát triển
không xác định. Bạn có thể chỉ định khoảng thời gian hết hạn thay thế với -e lá cờ. Các
thời gian hết hạn được khuyến nghị (và mặc định) cho email là 28 ngày. Sau thời gian hết hạn
khoảng thời gian, tem vẫn được coi là hết hạn và có thể bị xóa khỏi cơ sở dữ liệu
để tiết kiệm không gian. (Xem "Xóa định kỳ so với khi truy cập tiếp theo" để biết cách xóa tem.)

Vì lý do hiệu quả, một con tem được xác minh trước khi nó được kiểm tra trong cơ sở dữ liệu; nếu nó là
nếu không không hợp lệ sẽ không có hoạt động cơ sở dữ liệu nào xảy ra.

Lưu ý: Quyết định về thời gian con tem được coi là hợp lệ là tùy thuộc vào
người xác minh. Nếu quá ngắn, có thể đối với một số ứng dụng, tem sẽ
hết hạn trước khi đến tay người nhận (ví dụ: với email.) Giá trị đề xuất trong 28 ngày
nên an toàn cho sự chậm trễ gửi email thông thường. Sự lựa chọn là sự đánh đổi giữa
kích thước cơ sở dữ liệu và nguy cơ hết hạn trước khi đến, và phụ thuộc vào ứng dụng.

Lưu ý: Các tem khác nhau trong cùng một cơ sở dữ liệu có thể có thời hạn hiệu lực khác nhau, vì vậy đối với
tem ví dụ cho các tài nguyên khác nhau với thời hạn hiệu lực khác nhau có thể được lưu trữ trong
cùng một cơ sở dữ liệu hoặc người nhận có thể thay đổi thời hạn hiệu lực cho các tem trong tương lai
mà không ảnh hưởng đến hiệu lực của tem cũ.

Thanh trừng Định kỳ vs on Sau Truy Cập

Để tẩy tem cũ định kỳ trong khi kiểm tra tem, hãy sử dụng -p thời gian tùy chọn để thanh lọc
không sớm hơn khoảng thời gian nhất định kể từ lần thanh trừng cuối cùng. Thanh lọc có thể được sử dụng với
-k cũng có tùy chọn để xóa tem chưa hết hạn và với -j tài nguyên cờ chỉ để thanh trừng
tem cho tài nguyên đã cho.

Có những trường hợp có thể bất tiện khi xóa tem trong lần truy cập tiếp theo,
ví dụ: nếu có một cơ sở dữ liệu chi tiêu gấp đôi lớn cần một thời gian để xóa và
thời gian phản hồi của trình kiểm tra băm là quan trọng. Để tránh vấn đề này, xóa
có thể được thực hiện riêng biệt chỉ bằng cách sử dụng -p tại tùy chọn để yêu cầu chỉ hoạt động thanh lọc.
Ví dụ: trên unix, bạn có thể gọi "hashcash -p now" trong cron job một lần mỗi ngày hoặc trên
nhu cầu khi đĩa sắp hết.

Tốc độ Ước tính

Sản phẩm -s cờ yêu cầu đo lường bao nhiêu va chạm có thể được kiểm tra mỗi giây. Không
tem được đúc, hoặc xác minh.

Nếu -b cờ được sử dụng với tùy chọn này, thay vì ước tính bao nhiêu giây nó sẽ
tính toán một con tem có kích thước cho trước tính bằng bit. Để tìm ra bao nhiêu thời gian
sẽ sử dụng tem có kích thước mặc định -s -b mặc định.

Chú ý

Tất cả đầu ra thông tin được in trên stderr. Tem đúc, và kết quả của tem
xác minh và thời gian được in trên stdout. Lá cờ yên lặng -q đàn áp tất cả
đầu ra thông tin. Các -v cờ yêu cầu đầu ra thông tin nhiều hơn. Đề nghị
đầu ra, là thông tin duy nhất được xuất ở chế độ yên tĩnh (khi -q được quy định)
được in trên đầu ra tiêu chuẩn. Nếu stdout là một đường ống hoặc khi chế độ yên tĩnh có hiệu lực,
đầu ra được in mà không có mô tả (tức là chỉ bit, chỉ giây, chỉ tài nguyên).

LỰA CHỌN


-c Kiểm tra thông tin hạn sử dụng của tem được đưa ra dưới dạng đối số hoặc trên stdin. (Dùng với
-b, -d-r tài nguyên để kiểm tra đầy đủ tem).

-m Mint đóng dấu với các tài nguyên được cung cấp dưới dạng đối số hoặc trên stdin.

-b bit
Khi in một con tem, hãy tạo ra sự va chạm ít nhất là nhiều bit này. Khi xác minh một
tem yêu cầu rằng nó có xung đột tối thiểu là nhiều bit này, nếu không thì từ chối
nó. Nếu bỏ qua, mặc định sẽ được sử dụng.

Khi kiểm tra tem, yêu cầu tem phải có nhiều bit này.

Số bit mặc định có thể được chỉ định bằng -b mặc định. Bit liên quan đến
mặc định cũng có thể được chỉ định với -b +n nhiều hơn n bit so với giá trị mặc định và -b -n
cho n bit nhỏ hơn giá trị mặc định.

-b mặc định, -b +0-b -0 đều tương đương.

Khi làm bài kiểm tra tốc độ -s, có thể đo tốc độ của mã thông báo mặc định với -s -b
mặc định.

-r tài nguyên
Khi in tem, tên tài nguyên (địa chỉ email của người nhận) để đúc tem
chống lại có thể được đưa ra với -r tài nguyên hoặc như một đối số cho "hashcash".

Khi kiểm tra tem, tên tài nguyên (địa chỉ email của riêng bạn) được cung cấp với -r
Lựa chọn. Nếu tên tài nguyên được cung cấp, nó sẽ được kiểm tra với tên tài nguyên trong
tem, và nếu chúng không khớp, tem sẽ bị từ chối. Lưu ý nếu tên tài nguyên là
không được đưa ra, tem cho các tài nguyên khác sẽ được chấp nhận và do đó hashcash
trả về mã thoát không được chọn (mã thoát 2) khi thoát.

-o Khi xác minh tem, nhiều tài nguyên có thể được cung cấp. Theo mặc định, các tài nguyên là
chỉ cần kiểm tra từng cái một cho đến khi tìm thấy tài nguyên hợp lệ phù hợp. Tuy nhiên khi bạn
sử dụng ký tự đại diện hoặc biểu thức chính quy (xem -E), rất hữu ích nếu có thể chỉ định rằng
tài nguyên này ghi đè tài nguyên khác. Ví dụ điều này: -b15 -r [email được bảo vệ] -o -b10
*@dev.null nói rằng thư đến địa chỉ [email được bảo vệ] yêu cầu 15 bit, nhưng thư đến
*@dev.null chỉ yêu cầu 10 bit. Nếu chúng ta bỏ qua -o ghi đè mối quan hệ giữa
hai tài nguyên, một con dấu 10 bit sẽ được chấp nhận cho địa chỉ [email được bảo vệ]
bởi vì mặc dù nó sẽ bị từ chối vì không đủ bit theo quy tắc đầu tiên,
nó sẽ được chấp nhận theo quy tắc thứ 2. Các -o tùy chọn cho phép bạn tránh vấn đề này.

-e thời gian
Thời hạn sử dụng cho tem đã sử dụng. Trong khi kiểm tra tem (sử dụng -c cờ), nếu
tem đã được in nhiều hơn thời gian quy định trước đó, nó được coi là hết hạn.
Nếu tùy chọn này không được sử dụng, theo mặc định, tem sẽ hết hạn sau 28 ngày. Thời hạn sử dụng
được cung cấp theo giây theo mặc định (đối số 0 có nghĩa là mãi mãi). Một ký tự duy nhất
hậu tố có thể được sử dụng để chỉ định các đơn vị thay thế (m = phút, h = giờ, d = ngày, M =
tháng, y = Y = năm và s = ​​giây).

Nếu được sử dụng với -d tùy chọn, con tem đã sử dụng và thời hạn sử dụng của nó được ghi lại trong
cơ sở dữ liệu. Xem -p tùy chọn để mô tả cách xóa tem khỏi cơ sở dữ liệu.

Trong khi đúc tem, -e cờ có thể có ảnh hưởng đến độ phân giải thời gian được tạo
trong tem. Không có -e tùy chọn, độ phân giải mặc định là ngày (định dạng thời gian:
YYMMDD). Các định dạng thay thế dựa trên khoảng thời gian hết hạn như sau:

Trong khi đúc, bạn cũng có thể cung cấp độ rộng thời gian rõ ràng với -z thay vào đó.
(-z ghi đè -e nếu cả hai đều được đưa ra. Nếu cả hai đều không được cung cấp, mặc định là 6 ký tự (thời gian
định dạng: YYMMDD)).

Các quy tắc để tự động xác định độ rộng thời gian thích hợp từ -e nếu không -z tùy chọn
được đưa ra là:

* thời gian> = 2 năm thì định dạng thời gian YY được sử dụng làm tròn xuống năm gần nhất
khởi đầu;
* 2 năm <khoảng thời gian <= 2 tháng thì định dạng thời gian YYMM được sử dụng làm tròn xuống
tháng gần nhất bắt đầu;
* 2 tháng <khoảng thời gian <= 2 ngày thì định dạng thời gian YYMMDD được sử dụng làm tròn xuống
bắt đầu của ngày gần nhất;
* 2 ngày <khoảng thời gian <= 2 phút thì định dạng thời gian YYMMDDhhmm được sử dụng làm tròn xuống
bắt đầu của phút gần nhất;
* khoảng thời gian <2 phút thì định dạng thời gian YYMMDDhhmmss được sử dụng tính bằng giây.

Lưu ý rằng việc làm tròn số dựa trên giờ UTC, không phải giờ địa phương. Điều này có thể dẫn đến
kết quả ban đầu đáng ngạc nhiên khi làm tròn xuống ví dụ như các ngày ở múi giờ khác với GMT
(UTC = GMT). Có thể hiểu rõ hơn nếu bạn sử dụng -u tùy chọn.

-z chiều rộng
Sản phẩm -z tùy chọn được sử dụng trong quá trình đúc và cho phép người dùng lựa chọn chiều rộng chiều rộng thời gian
đồng ruộng. Xem thêm -e tùy chọn được đưa ra kết hợp với -m để chỉ định một ẩn ý
chiều rộng trường thời gian dưới mô tả của -e lá cờ. Chiều rộng hợp lệ là 6,10 hoặc 12
các ký tự tương ứng với: YYMMDD, YYMMDDhhmm và YYMMDDhhmmss được làm tròn xuống
đến ngày gần nhất hoặc phút tương ứng.

Lưu ý rằng việc làm tròn số dựa trên giờ UTC, không phải giờ địa phương. Điều này có thể dẫn đến
kết quả ban đầu đáng ngạc nhiên khi làm tròn xuống ví dụ như các ngày ở múi giờ khác với GMT
(UTC = GMT). Có thể hiểu rõ hơn nếu bạn sử dụng -u tùy chọn.

-g thời gian
Sản phẩm -g tùy chọn được sử dụng khi kiểm tra tem băm với -c lựa chọn và
chỉ định thời gian gia hạn cho độ lệch đồng hồ, tức là nếu dấu băm đến với ngày trong
tương lai hoặc trong quá khứ nó sẽ không bị từ chối là có một ngày trong tương lai (hoặc như
đang hết hạn) trừ khi nó tương lai hơn (hoặc đã hết hạn lâu hơn)
khoảng thời gian. Mặc định là 2 ngày, có nghĩa là miễn là đồng hồ của hệ thống gửi là
không quá 2 ngày trước (hoặc chậm hơn 2 ngày) so với đồng hồ của hệ thống nhận,
dấu băm sẽ vẫn được chấp nhận.

Đơn vị mặc định cho thời gian gia hạn là giây. Một hậu tố ký tự đơn có thể được sử dụng
để chỉ định các đơn vị thay thế (m = phút, h = giờ, d = ngày, M = tháng, y = Y =
năm và s = ​​giây).

-d Lưu trữ tem trong cơ sở dữ liệu chi tiêu gấp đôi. Nếu con tem đã được nhìn thấy trước đó thì nó sẽ
bị từ chối ngay cả khi nó có giá trị khác. Tệp cơ sở dữ liệu mặc định là cơ sở dữ liệu.sdb in
thư mục hiện tại. Chỉ những tem hợp lệ khác mới được lưu trữ trong cơ sở dữ liệu.
Chỉ những con tem đã được xác thực đầy đủ mới được lưu trữ trong cơ sở dữ liệu, trừ khi -y Tùy chọn là
được.

-f tên cơ sở dữ liệu
Sử dụng tên cơ sở dữ liệu thay vì tên tệp mặc định cho cơ sở dữ liệu chi tiêu gấp đôi.

-p thời gian
Xóa cơ sở dữ liệu của tem đã hết hạn nếu khoảng thời gian nhất định đã trôi qua kể từ
lần trước nó đã được thanh trừng. Như một sự tiện lợi -p tại tương đương với -p 0 cả hai điều đó
nghĩa là thanh lọc ngay bây giờ, bất kể khi nào cơ sở dữ liệu được thanh lọc lần cuối.

Nếu dùng kết hợp với -j tài nguyên chỉ những con tem được đúc cho tài nguyên đã cho
được thanh trừng.

Nếu dùng kết hợp với -k tất cả tem ngay cả tem chưa hết hạn sử dụng đều bị tẩy. Có thể
được sử dụng kết hợp với -t thời gian hết hạn như thể thời gian hiện tại là thời gian nhất định.

-k Sử dụng với tùy chọn -p để yêu cầu tất cả các con tem được thanh lọc thay vì chỉ những con tem đã hết hạn.

-j tài nguyên
Sử dụng với tùy chọn -p yêu cầu rằng chỉ cần đóng dấu phù hợp với tên tài nguyên đã cho là
được xóa, thay vì mặc định là xóa tất cả các tem đã hết hạn. Nếu
tên tài nguyên là chuỗi trống, tất cả các tem đều được khớp (điều này tương đương với
bỏ qua -j Tùy chọn).

Lưu ý -E, -M-S loại cờ đối sánh cũng áp dụng cho các tài nguyên được cung cấp với -j
tài nguyên cờ.

-s Chỉ in thông tin thời gian và không tiến hành tạo tem. Nếu kết hợp với
-b bit bản in cờ ước tính kích thước xung đột được yêu cầu sẽ mất bao lâu để
tính toán, nếu -s do chính nó đưa ra, chỉ in tốc độ của công cụ tìm va chạm. Để in
ước tính số lượng bit mặc định sẽ sử dụng trong bao lâu -b mặc định.

-h In thông tin sử dụng ngắn.

-v In đầu ra thông tin chi tiết hơn về việc in hoặc xác minh tem. (Nếu như
-v là đối số duy nhất, in ra số phiên bản công cụ.)

-V In số phiên bản công cụ.

-q Chế độ hàng loạt. Không in thông tin nào ngoài đầu ra. Tùy chọn này ghi đè -v
tùy chọn.

-X Khi in, in email băm X-header 'X-Hashcash:' trước tem.
Nếu không có tùy chọn này, chỉ có tem trần được in.

Khi kiểm tra, sau khi quét các tem được cung cấp dưới dạng đối số, hãy quét stdin cho các dòng
bắt đầu bằng chuỗi 'X-Hashcash:' và sử dụng phần còn lại của dòng phù hợp làm
con tem. Chỉ những dòng đến và kết thúc ở dòng trống đầu tiên mới được quét (xem thêm
-i cờ có thể được sử dụng để ghi đè điều này). Một dòng trống là dấu phân cách được sử dụng để
tách các tiêu đề khỏi phần nội dung của thư hoặc bài viết USENET. Điều này có nghĩa là
để tạo thuận tiện cho việc chuyển thư hoặc bài viết USENET sang băm trên stdin.

-x mở rộng
Một chuỗi mở rộng bao gồm các bộ giá trị tên. Định dạng phần mở rộng được mô tả
bên dưới trong phần về định dạng dấu băm. Điều này cho phép người dùng xác định
các phần mở rộng tem riêng được băm vào tem, được người nhận xác minh rằng
hỗ trợ họ và bị bỏ qua bởi những người nhận không ủng hộ họ. Lưu ý phần mở rộng
cơ chế móc nối vẫn chưa được thực hiện. Điều này sẽ có trong bản phát hành tiếp theo.

-i Khi kiểm tra và sử dụng -X gắn cờ, bỏ qua ranh giới dòng trống giữa các tiêu đề
và nội dung thư, đồng thời kiểm tra va chạm trong nội dung nếu không tìm thấy
trong tiêu đề.

-t thời gian
Giả sử thời gian hiện tại là thời gian được đưa ra cho mục đích đúc tem, xác minh
tem và xóa tem cũ khỏi cơ sở dữ liệu. Thời gian được đưa ra ở định dạng dựa trên
Định dạng UTCTIME YYMMDD [hhmm [ss]].

Thời gian được biểu thị theo giờ địa phương theo mặc định. Dùng với -u cờ để đưa ra thời gian theo giờ UTC
(GMT).

Bạn cũng có thể cung cấp thời gian liên quan đến thời gian hiện tại bằng cách đặt trước đối số bằng +
hoặc -. Đơn vị mặc định cho thời gian tương đối là giây. Một hậu tố ký tự đơn có thể
được sử dụng để chỉ định các đơn vị thay thế (m = phút, h = giờ, d = ngày, M = tháng, y =
Y = năm và s = ​​giây).

Lưu ý: khi thời gian được biểu thị theo giờ địa phương, nếu bạn có tiết kiệm ánh sáng ban ngày
múi giờ, có một hoặc hai giờ không rõ ràng mỗi năm tại thời điểm thay đổi từ
thời gian tiết kiệm ánh sáng ban ngày đến giờ bình thường.

-u Nhập và xuất thời gian tuyệt đối theo UTC (GMT) thay vì giờ địa phương.

-a thời gian
Cộng (hoặc trừ nếu số âm) một giá trị ngẫu nhiên từ thời điểm hiện tại trước đó
đúc tem. Điều này ẩn thời gian tem được tạo, điều này có thể hữu ích cho
người dùng ẩn danh. Lưu ý rằng việc thêm (thay vì trừ) một thời gian ngẫu nhiên có thể rủi ro nếu
tem mất ít hơn thời gian đã thêm để đến nơi vì người nhận sẽ từ chối tem
với dấu ấn thời gian trong tương lai.

-n Tên tài nguyên in được phân tích cú pháp từ tem đang được xác minh. Trả về mã thoát chưa được chọn
lối thoát.

-l In số giây còn lại trước khi tem hết hạn. Trả về mã thoát chưa được chọn
lối thoát.

Lưu ý: tính toán bao gồm thời gian gia hạn, vì vậy có thể lên đến 2 lần thời gian gia hạn
lâu hơn những gì bạn có thể mong đợi (đồng hồ nhanh nhưng hệ thống phải cho rằng nó có thể
chậm thôi). Nếu bạn muốn loại trừ thời gian gia hạn, hãy thêm -g0 để đặt thời gian gia hạn thành 0
để tính toán.

-w In số bit va chạm của tem. Trả về mã thoát không được chọn khi thoát.

-y Trả về thành công nếu tem hợp lệ ngay cả khi nó chưa được kiểm tra đầy đủ. Dùng với -c
nơi không phải tất cả -d, -r được chỉ định để nhận mã thoát thành công khi hợp lệ nhưng một phần
đã kiểm tra tem. Tương tự có thể sử dụng với -n, -l, -w với cùng một hiệu ứng.

-M Khi kiểm tra tem, hãy cho phép ký tự đại diện * khớp trong tên tài nguyên để làm cho nó
đơn giản hơn để chỉ định nhiều địa chỉ email và cho phép các địa chỉ nhận toàn bộ thư phù hợp
và các địa chỉ bao gồm cả các miền phụ. Đây là mặc định. Xem thêm -S, -E-C

-S Khi kiểm tra tem, hãy sử dụng so sánh văn bản đơn giản để so sánh tên tài nguyên với tên trong
tem. Xem thêm -M, -E-C.

-E Khi kiểm tra tem, hãy sử dụng biểu thức chính quy để chỉ định tên tài nguyên để tạo ra nó
đơn giản hơn để chỉ định nhiều địa chỉ email, địa chỉ nhận toàn bộ thư, các lớp tiện ích mở rộng
địa chỉ và địa chỉ bao gồm cả tên miền phụ. Lưu ý cú pháp biểu thức chính quy là POSIX
phong cách: các ký tự đặc biệt không cần phải được trích dẫn để có ý nghĩa đặc biệt của chúng; nhưng
chúng phải được trích dẫn bằng \ cho ký tự đó trong chuỗi được tìm kiếm. Các
biểu thức chính quy tự động có ^ được thêm vào đầu và $ được thêm vào cuối,
nếu chúng không được chỉ định. Các ký tự đặc biệt ^ khớp với phần đầu của
resouce và $ khớp với phần cuối của tài nguyên.

(Lưu ý ngay cả khi được biên dịch với biểu thức chính quy BSD, cú pháp kiểu POSIX cũng được sử dụng; cũng
lưu ý rằng biểu thức chính quy BSD không hỗ trợ phạm vi {}.)

-C Theo mặc định, các tài nguyên được chuẩn hóa thành chữ thường khi đúc và kiểm tra. Các
-C cờ sẽ ghi đè điều này để các tài nguyên được coi là phân biệt chữ hoa chữ thường khi kiểm tra,
và không được canonizal hóa khi đúc tiền.

-P In thông tin tiến trình (số lần lặp lại, số lần lặp dự kiến, phần trăm hoàn thành, tốt nhất
kích thước tem tìm thấy cho đến nay).

-O cốt lõi
Chọn lõi băm với số đó. Hiện tại 0-9 là lõi hợp lệ. Không phải tất cả các lõi
làm việc trên tất cả các kiến ​​trúc. Ví dụ: một số là trình hợp dịch cụ thể x86, những người khác là PPC cụ thể
người lắp ráp. Nếu một lõi không hợp lệ, hashcash trả về lỗi và giải thích điều gì
đã xảy ra.

-Z n
Nén tem. Đây là sự đánh đổi giữa thời gian và không gian. Tem lớn hơn nhanh hơn, nhưng
được cho là hơi xấu xí. Để có tem nhanh nhất (mặc định), hãy sử dụng -Z 0; cho một phần
tem nén sử dụng -Z 1; đối với các tem rất nén, nhưng hơi chậm sử dụng -Z 2.
(Lưu ý: do một lỗi được phát hiện muộn, -Z2 giống với -Z1 cho đến khi tôi có thể sửa chữa
cái đó.)

VÍ DỤ


Tạo tem

"hashcash -s"
In thông tin thời gian về số lượng va chạm mà máy có thể thử mỗi giây.

"hashcash -sv"
Điểm chuẩn chính xác hơn nhưng khá chậm của quá trình đúc tiền cụ thể của bộ xử lý khác nhau
lõi.

"hashcash -s -b default"
In máy sẽ mất bao lâu để tính toán một va chạm có kích thước mặc định (nhưng
không thực sự tính toán va chạm).

"hashcash -s -b 32"
In máy sẽ mất bao lâu để tính toán xung đột 32 bit (nhưng không
thực sự tính toán một va chạm).

"hashcash -m"
Mint một con tem. Sẽ nhắc tên tài nguyên và bạc hà với giá trị mặc định (số lượng
các bit va chạm).

"hashcash -m foo"
Tính toán xung đột trên tài nguyên foo. Sẽ đúc với giá trị mặc định (số lần va chạm
chút ít).

"hashcash -m foo -b 10"
Tính toán xung đột 10 bit trên tài nguyên foo.

"hashcash -a -3d"
Trừ thời gian ngẫu nhiên từ 0 ngày đến 3 ngày kể từ thời điểm tạo tem.
Đây là cùng một hệ số lông tơ được mixmaster sử dụng để giảm rủi ro về tương quan thời gian.

Kiểm tra Tem

"hashcash -w 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Báo cáo giá trị của tem (có bao nhiêu bit va chạm). Ví dụ là
xung đột 24 bit, mất trung bình 25 giây để tạo ra trên 3Ghz P4.

"hashcash -mq -b 10 foo ⎪ hashcash -w"
Tạo một con tem ở chế độ hàng loạt, chuyển đến hashcash trên stdin để xác minh, nó sẽ in như thế nào
nhiều bit đã có.

"hashcash -n 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Báo cáo tên tài nguyên từ tem. Tên tài nguyên trong ví dụ là foo.

"hashcash -l -e 30y 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Báo cáo bao lâu cho đến khi con tem hết hạn nếu nó hết hạn sau 30 năm kể từ khi được tạo ra
ngày. (Lưu ý rằng các ngày quá xa trong tương lai là vào cuối năm 2038 của Kỷ nguyên, tức là
tương tự thời gian unix của lỗi y2k).

Đang xác minh Tem

"hashcash -c 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Kiểm tra xem tem có hợp lệ không. Lưu ý vì chúng tôi không kiểm tra tem trong một lần chi tiêu gấp đôi
cơ sở dữ liệu và không chỉ định tên tài nguyên hoặc số lượng bit xung đột cần thiết
và hashcash sẽ coi tem chưa được kiểm tra đầy đủ và nó sẽ báo là hợp lệ
nhưng không được hoàn toàn bỏ chọn, hoặc không hợp lệ nếu có bất kỳ vấn đề nào với con tem.

"hashcash -c -b24 1:24:040806:foo::511801694b4cd6b0:1e7297a"
Kiểm tra xem giá trị của tem lớn hơn hoặc bằng 24 bit. Ví dụ này có 24
giá trị bit. Nếu bạn tăng số bit được yêu cầu hoặc thay thế tem bằng một
với va chạm ít hơn 24 bit, tem sẽ bị từ chối.

"hashcash -c -b24 -r foo 1: 24: 040806: foo :: 511801694b4cd6b0: 1e7297a"
Như trên, hãy kiểm tra xem tem có đủ giá trị hay không, nhưng ngoài ra, hãy kiểm tra xem
tên tài nguyên đã cho khớp với tên tài nguyên trong tem.

Kép Chi Phòng chống

Có thể sửa đổi các ví dụ được đưa ra trong "Xác minh tem" để giữ cơ sở dữ liệu chi tiêu gấp đôi
do đó, cùng một con tem sẽ không được chấp nhận hai lần. Lưu ý rằng một con tem sẽ chỉ được đăng ký
và được thêm vào cơ sở dữ liệu nếu nó hợp lệ và được kiểm tra đầy đủ (một số lượng bắt buộc
bit va chạm đã được chỉ định và một tài nguyên đã được chỉ định).

"hashcash -cd -b 10 -r foo 1: 24: 040806: foo :: 511801694b4cd6b0: 1e7297a"
Kiểm tra tem và thêm vào cơ sở dữ liệu đã chi tiêu gấp đôi nếu nó hợp lệ (có tài nguyên chính xác
tên và giá trị đủ).

"hashcash -cd -b 10 -r foo 1: 24: 040806: foo :: 511801694b4cd6b0: 1e7297a"
Cố gắng chi tiêu gấp đôi con tem. Nó sẽ bị từ chối vì đã chi gấp đôi.

Tem Hết hạn

Để ngăn cơ sở dữ liệu chi tiêu gấp đôi phát triển không xác định, người nhận có thể yêu cầu
tem không cũ hơn một khoảng thời gian quy định. Sau khi hết hạn tem cũ có thể bị rơi khỏi
cơ sở dữ liệu chi tiêu gấp đôi vì chúng sẽ không còn cần thiết nữa - tem hết hạn có thể bị từ chối
hoàn toàn dựa trên ngày cũ của chúng, do đó, không gian được sử dụng bởi những con tem đã hết hạn trong khoản chi tiêu gấp đôi
cơ sở dữ liệu có thể được lưu mà không có rủi ro chấp nhận một tem đã hết hạn mặc dù có giá trị.

Trường thứ ba của con tem là giờ UTC kể từ ngày 1 tháng 1970 năm XNUMX. Giờ mặc định
định dạng là YYMMDD, thời gian làm tròn đến ngày gần nhất. Thời hạn hiệu lực mặc định là 28
ngày

Bạn có thể cung cấp thời hạn hiệu lực thay thế với -e tùy chọn.

"hashcash -cd -b 10 -e 2d -r foo 1: 24: 040806: foo :: 511801694b4cd6b0: 1e7297a"
Hãy thử xác minh một con tem cũ, con tem trên được tạo ngày 11 tháng 2002 năm XNUMX.

Chúng tôi đã đưa ra lựa chọn -e 2d vì vậy hạn sử dụng tem là 2 ngày sau khi tạo, bây giờ là
trong quá khứ.

Lưu ý: nếu thời gian tạo ra được thể hiện trên tem bằng ngày thì việc tạo chính xác
ngày là đầu của ngày được chỉ định theo giờ UTC (tương tự đối với các đơn vị thay thế
thời gian tạo được làm tròn xuống đến đầu của đơn vị mà nó được biểu thị bằng).
Ví dụ: đối với các đơn vị tính theo ngày, điều này có thể có nghĩa là tùy thuộc vào múi giờ của bạn mà
tem dường như được coi là không hợp lệ trong thời hạn sử dụng quy định trong ngày
so với chế độ xem tương đối của bạn về ngày hôm đó, vì tính toán dựa trên
thời gian hiện tại tính theo giờ UTC và thời gian tạo tem được biểu thị theo giờ UTC.

"hashcash -cd -b 10 -r foo 1: 24: 040806: foo :: 511801694b4cd6b0: 1e7297a"
Kiểm tra xem tem còn giá trị hay không, ngoài việc đã hết hạn sử dụng. Bỏ qua -e
nói với hashcash rằng tem sẽ không bao giờ hết hạn. Thời gian hết hạn vĩnh viễn cũng có thể
được đưa ra một cách công khai như thế này: -e 0, trong đó thời hạn sử dụng bằng 0 có nghĩa là mãi mãi.

Thanh trừng xưa tem

Nếu -c, -d các tùy chọn được sử dụng cùng nhau, mỗi khi một con tem được kiểm tra, nếu nó hợp lệ và
tất cả các khía cạnh bắt buộc của tem đều được xác minh (kiểm tra bit va chạm, tài nguyên
kiểm tra tên) sau đó tem và thời hạn sử dụng của nó được ghi vào tệp cơ sở dữ liệu. Các
thời hạn hết hạn mặc định nếu thời hạn hết hạn không được đưa ra rõ ràng với -e tùy chọn là 28
ngày (tức là tem sẽ hết hạn sau 4 tuần).

Đầu tiên bạc hà và sau đó thêm một con dấu:

"băm -m -b 10 foo -e 1m> tem"
Lưu ý: chúng tôi đã chỉ định thời hạn đúc trong ví dụ này, để đảm bảo rằng tem
thời gian tạo được đưa ra ở độ phân giải đủ cao trong tem mà tem sẽ không
được coi là hết hạn tại thời điểm tạo. (Hãy nhớ lại độ phân giải mặc định là trong ngày,
một con tem được tạo ra với thời gian tạo ra được làm tròn xuống thời gian đóng dấu trong ngày là
không có khả năng được coi là hợp lệ 1 phút sau trừ khi bạn đúc nó vào lúc nửa đêm UTC
thời gian.)

"băm -cd -e 1m -b 10 -r foo <tem"
Con tem sẽ hết hạn sau 1 phút. Chờ 1 phút rồi yêu cầu rõ ràng đã hết hạn
tem được tẩy:

"hashcash -p now"
Sau đó, hãy thử gửi lại cùng một con tem:

"băm -cd -e 1m -b 10 -r foo <tem"
và con tem vẫn sẽ bị từ chối vì nó đã hết hạn, minh họa tại sao nó không được
cần thiết để giữ con dấu này trong cơ sở dữ liệu.

Với cơ sở dữ liệu mặc định (định dạng sdb), con người có thể đọc được nội dung cơ sở dữ liệu,
vì vậy bạn có thể xem nội dung của chúng bằng cách chuyển chúng vào thiết bị đầu cuối:

"cat hashcash.sdb"
để thấy rằng con tem thực sự được thêm vào và sau đó sau khi xử lý sau đó bị xóa do
hết hạn sử dụng.

Thanh trừng xưa tem on Nhu cầu

Để thuận tiện, bạn có thể tẩy cùng lúc với việc kiểm tra tem bằng cách sử dụng -p tùy chọn
với -c tùy chọn.

"hashcash -m -b 10 foo> tem"
"hashcash -cd -p now -e 1 -b 10 -r foo <tem"
Có thể không hiệu quả để tẩy tem mỗi lần sử dụng vì toàn bộ cơ sở dữ liệu phải
quét để tìm tem hết hạn. Bằng cách đưa ra một khoảng thời gian cho -p tùy chọn, bạn có thể nói
"hashcash" để xóa không thường xuyên hơn khoảng thời gian đó kể từ đợt thanh trừng trước.

Ví dụ:

"hashcash -cd -p 1d -e 1 -b 10 -r foo <tem"
ra lệnh cho "hashcash" để xóa mọi tem đã hết hạn không quá một lần mỗi ngày.

"hashcash -p 1M -j foo"
yêu cầu "hashcash" chỉ xóa các tem đã hết hạn phù hợp với foo tài nguyên một lần mỗi tháng.

"hashcash -p now -k"
ra lệnh cho "hashcash" để xóa tất cả các tem (đã hết hạn và chưa hết hạn) ngay bây giờ.

tem định dạng (phiên bản 1)


Định dạng tem hiện tại là phiên bản 1. Công cụ này có thể xác minh tem băm phiên bản 0
ngoài ra, nhưng tem phiên bản 0 không còn được tạo ra nữa vì chúng đang được loại bỏ dần dần để ủng hộ
định dạng tem v1 có thể mở rộng hơn.

ver:bit:ngày:tài nguyên:[ext]:rand:chống lại

Ở đâu

ver = 1
bit = có bao nhiêu bit va chạm cục bộ mà con tem được yêu cầu
ngày = YYMMDD [hhmm [ss]]
tài nguyên = chuỗi tài nguyên (ví dụ: địa chỉ IP, địa chỉ email)
ext = extension - bị bỏ qua trong phiên bản hiện tại
Định dạng của phần mở rộng:

[name1[=val1[,val2...]];[name2[=val1[,val2...]]...]]
Lưu ý rằng giá trị cũng có thể chứa =. Phần mở rộng ví dụ (không phải là một phần mở rộng thực):

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

Mà sẽ là tên mở rộng1 có các giá trị 2 và 3; tên phần mở rộng2 không có giá trị nào;
extension name3 có 3 giá trị "var1 = 2", "var2 = 3", "2" và "val". Hashcash
tiện ích mở rộng có thể diễn giải các giá trị khi nó thấy phù hợp, ví dụ: "var1 = 2" có thể là giá trị
của một tùy chọn đối với tên phần mở rộng3.

rand = chuỗi ký tự ngẫu nhiên từ bảng chữ cái a-zA-Z0-9 + / = để tránh va chạm với
tem của người gửi khác
chống lại = để tìm một con tem với số lượng bit va chạm mong muốn cần phải thử rất nhiều
các chuỗi khác nhau, bộ đếm này được tăng lên sau mỗi lần thử. Bộ đếm cũng bao gồm
các ký tự từ bảng chữ cái a-zA-Z0-9 + / =. (Lưu ý rằng không bắt buộc phải triển khai
đếm tuần tự).

Sử dụng hashcash trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    Alt-F
    Alt-F
    Alt-F cung cấp một mã nguồn mở và miễn phí
    chương trình cơ sở thay thế cho DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F có Samba và NFS;
    hỗ trợ ext2 / 3/4 ...
    Tải xuống Alt-F
  • 2
    chúng tôi
    chúng tôi
    Usm là một gói slackware thống nhất
    quản lý xử lý tự động
    giải quyết sự phụ thuộc. Nó thống nhất
    các kho lưu trữ gói khác nhau bao gồm
    slackware, slacky, p ...
    Tải về usm
  • 3
    Biểu đồ.js
    Biểu đồ.js
    Chart.js là một thư viện Javascript
    cho phép các nhà thiết kế và nhà phát triển vẽ
    tất cả các loại biểu đồ sử dụng HTML5
    phần tử canvas. Biểu đồ js cung cấp một điều tuyệt vời
    mảng ...
    Tải xuống Chart.js
  • 4
    iReport-Designer cho JasperReports
    iReport-Designer cho JasperReports
    LƯU Ý: Hỗ trợ iReport / Jaspersoft Studio
    Thông báo: Kể từ phiên bản 5.5.0,
    Jaspersoft Studio sẽ là công ty chính thức
    khách hàng thiết kế cho JasperReports. tôi báo cáo
    sẽ...
    Tải xuống iReport-Designer cho JasperReports
  • 5
    PostInstallerF
    PostInstallerF
    PostInstallerF sẽ cài đặt tất cả các
    phần mềm Fedora Linux và những phần mềm khác
    không bao gồm theo mặc định, sau
    chạy Fedora lần đầu tiên. Của nó
    dễ dàng cho ...
    Tải xuống PostInstallerF
  • 6
    đi lạc
    đi lạc
    Dự án đi lạc đã được chuyển đến
    https://strace.io. strace is a
    chẩn đoán, gỡ lỗi và hướng dẫn
    bộ theo dõi không gian người dùng cho Linux. Nó được sử dụng
    để giám sát một ...
    Tải xuống
  • Khác »

Lệnh Linux

Ad