英语法语西班牙语

Ad


OnWorks 网站图标

hashcash - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 hashcash

这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 hashcash,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


hashcash - hashcash 反垃圾邮件/拒绝服务对策工具

概要


薄荷 (创建) 邮票:

哈希现金 -m [[ 选项 [ 资源 ...] ...]

单向阀 邮票:

哈希现金 -c [[ 选项 ] -r 资源 ...] [ 邮票 ...]

迅速的 估计:

哈希现金 -s [ 选项 [ -b ]

清除 数据库:

哈希现金 -p 现在 [ -j 资源 [ -k [ -t [ -u ]

计数 碰撞 位:

哈希现金 -w [ 选项 [ 邮票 ...]

积极 资源 名称:

哈希现金 -n [ 选项 [ 邮票 ...]

积极 其余 直到 到期

哈希现金 -l [ 选项 ] -e 期间 [ 邮票 ...]

商品描述


Hashcash 是一种拒绝服务计数器测量工具。 它目前的主要用途是帮助
hashcash 用户避免因基于内容和基于黑名单的反垃圾邮件而丢失电子邮件
系统。

hashcash 工具允许您创建 hashcash 邮票以附加到您发送的电子邮件,以及
验证您收到的电子邮件所附的 hashcash 邮票。 电子邮件发件人附加 hashcash
带有 X-Hashcash: 标头的邮票。 鼓励反垃圾邮件工具的供应商和作者
将使用 hashcash 发送的邮件从其黑名单和基于内容的过滤规则中排除。

hashcash 邮票构成了一个工作量证明,它需要一个可参数化的工作量
为发件人计算。 收件人可以有效地验证收到的邮票。

hashcash 工作量证明函数用于计算部分哈希冲突(SHA1 哈希
函数使用)。 通过选择碰撞的位数,需要的工作
计算碰撞的代价可以是任意的——从几分之一秒到
分钟或小时。 验证是有效的,需要同样的小成本
碰撞大小。

有关其他应用程序的更详细讨论,请参阅 hashcash
http://www.hashcash.org/

用法 附注


在此手册页中,资源名称是服务的名称或戳记的地址
为。 在电子邮件的情况下,资源名称是收件人的电子邮件地址
表格 [电子邮件保护].

造币 邮票

-m 必须给予旗帜才能铸造邮票。

用于铸造邮票的资源名称(收件人的电子邮件地址)可以作为
一个参数,或者如果省略则从标准输入读取。 如果 stdin 是 tty,则会提示用户,如果
stdin 是一个管道,资源名称只是静默读取。 所需的碰撞大小可以
用 -b 选项指定。 如果未指定碰撞大小,则默认为 20
位。 另见 -b 默认 选项。

检查 邮票

-c 必须给出标志以检查邮票是否过期。 要检查的邮票可以作为
对“hashcash”的争论。 如果未提供戳记,则从标准输入读取戳记。 如果标准输入是
tty 将提示用户,如果 stdin 是管道,则只是静默读取戳记。 一种
资源名称(收件人的电子邮件地址)可以与 -r 选项。 如果一个
给定资源名称 将资源名称与图章中的资源名称进行比较,如果
它们不匹配,邮票被拒绝。

注意:如果没有给出资源名称,无论如何都会检查图章以查看是否是其他情况
有效,但可以为不同的资源铸造,这将允许邮票
跨不同资源重用,因此 hashcash 将在退出时返回未经检查的退出代码。

默认情况下,邮票的有效期为 28 天。 有效期可以
使用 -e 旗。

如果邮票已过期或在未来有日期,则邮票将被拒绝并且程序
立即退出。

如果所需的碰撞大小与 -b 标志,计算邮票值并
比较,如果邮票价值不足,它被拒绝,并且程序退出
立即地。 如果 -b 未给出标志,则检查邮票以查看是否存在其他情况
有效,但 hashcash 将在退出时返回未经检查的退出代码。

如果邮票被重复使用,则邮票被拒绝。 双花保护是
在下面的“双重支出保护”中更详细地讨论。 如果双花
未启用保护,邮票可能被双花,因此 hashcash 将返回
退出时未经检查的退出代码(退出代码 2)。

-w flag 可用于请求计算碰撞的位数
并显示。 这 -n 标志可用于请求标记中的资源名称为
解析出来并显示出来。 这 -l 标志可用于请求直到的秒数
邮票到期输出。

如果出现以下情况,程序将仅返回有效或无效的退出代码 -c 使用标志, -b
使用标志, -d, -r 资源 被使用。 这些是必要的最少选项集
全面检查邮票的有效性。 如果不满足这些标准,该计划将
退出时返回未选中的退出代码(退出代码 2)。 (另见 -y 旗帜。)

花费 的故事

如果 -d 检查邮票时使用标志,保存已用邮票的数据库。

默认情况下,邮票会在 28 天后过期,如果没有过期,数据库会增长
不确定地。 您可以使用 -e 旗帜。 这
电子邮件的推荐(和默认)有效期为 28 天。 期满后
时间量,无论如何都认为戳记已过期,可能会从数据库中清除
以节省空间。 (有关如何清除图章,请参阅“定期清除与下次访问时清除”。)

出于效率原因,邮票在被检查到数据库之前被验证; 如果是
否则无效不会发生数据库活动。

注意:关于邮票应被视为有效多长时间的决定取决于
验证者。 如果它太短,对于某些应用程序来说,图章可能会
在到达收件人之前过期(例如通过电子邮件)。建议值为 28 天
对于正常的电子邮件传递延迟应该是安全的。 选择是一种权衡
数据库大小和到达前到期的风险,并取决于应用程序。

注意:同一个数据库中不同的邮票可以有不同的有效期,所以对于
具有不同有效期的不同资源的示例戳可以存储在
相同的数据库,否则收件人可能会更改未来邮票的有效期
不影响旧邮票的有效性。

吹扫 定期地 vs on 下一页 访问

要在检查邮票时定期清除旧邮票,请使用 -p 期间 清除选项
不早于自上次清除以来的给定时间段。 吹扫可与
-k 还可以选择清除未过期的邮票,并使用 -j 资源 仅清除标志
给定资源的邮票。

有些情况下可能不方便在下次访问时清除邮票,
例如,如果有一个大型双花数据库需要一些时间来清除,并且
hashcash 检查器的响应时间很重要。 为避免此问题,请清除
可以单独使用 -p 现在 仅请求清除操作的选项。
例如,在 unix 上,您可以每天在 cron 作业中调用“hashcash -p now”一次,或者在
磁盘不足时的需求。

迅速的 费用预估

-s flag 请求测量每秒可以测试多少次碰撞。 不
邮票是铸造的,或经过验证的。

如果 -b 标志与此选项一起使用,而不是估计它需要多少秒
计算以比特为单位的给定大小的邮票。 找出多少时间
将需要铸造默认大小的邮票使用 -s -b 默认.



所有信息输出都打印在 stderr 上。 铸造的邮票和邮票的结果
验证和计时打印在标准输出上。 安静的旗帜 -q 压制一切
信息输出。 这 -v 标志请求更多的信息输出。 请求的
输出,这是在安静模式下输出的唯一信息(当 -q 被指定)
打印在标准输出上。 如果 stdout 是一个管道,或者当安静模式有效时
输出没有说明就打印出来(即只是位,只是秒,只是资源)。

配置


-c 检查作为参数或标准输入给出的邮票的到期信息。 (与
-b, -d-r 资源 以完全检查邮票)。

-m 使用作为参数或在标准输入上给出的资源的 Mint 标记。

-b
铸造邮票时,创建至少这么多位的碰撞。 当验证一个
戳要求它至少有这么多位的碰撞,否则拒绝
它。 如果省略,则使用默认值。

检查邮票时,要求邮票有这么多位。

可以指定默认位数 -b 默认. 位相对于
也可以指定默认值 -b +n 比默认值多 n 位,并且 -b -n
比默认值少 n 位。

-b 默认, -b +0-b -0 都是等价的。

在进行速度测试时 -s, 可以测量默认令牌的速度 -s -b
默认.

-r 资源
铸造邮票时,铸造邮票的资源名称(收件人的电子邮件地址)
反对可以给出 -r 资源 或作为“hashcash”的论据。

检查邮票时,资源名称(您自己的电子邮件地址)与 -r
选项。 如果给定了资源名称,则会根据资源名称中的资源名称进行检查
邮票,如果它们不匹配,邮票将被拒绝。 注意资源名称是否为
没有给出,其他资源的邮票将被接受,因此 hashcash
退出时返回未选中的退出代码(退出代码 2)。

-o 验证图章时,可以提供多个资源。 默认资源是
只是一一检查,直到找到匹配的有效资源。 然而当你
使用通配符或正则表达式(参见 -E),能够指定
一个资源覆盖另一个。 例如这个: -b15 -r [电子邮件保护] -o -b10
*@dev.null 指出邮寄地址 [电子邮件保护] 需要 15 位,但邮寄到
*@dev.null 只需要 10 位。 如果我们省略了 -o 之间的覆盖关系
这两个资源,地址将接受 10 位的戳记 [电子邮件保护]
因为虽然在第一条规则下它会因为位数不足而被拒绝,
它将根据第二条规则被接受。 这 -o 选项可让您避免此问题。

-e
用过的邮票的有效期。 在检查邮票时(使用 -c 标志),如果
邮票的铸造时间超过指定的时间,则被视为已过期。
如果不使用此选项,默认情况下邮票会在 28 天后过期。 有效期
默认以秒为单位给出(参数 0 表示永远)。 单个字符
后缀可用于指定换算单位(m = 分钟,h = 小时,d = 天,M =
月,y = Y = 年,s = 秒)。

如果与 -d 选项,用过的邮票及其有效期记录在
数据库。 见 -p 用于描述如何从数据库中清除图章的选项。

在铸造邮票时, -e 标志可以影响创建时间的分辨率
在邮票中。 没有 -e 选项,默认分辨率为天(时间格式:
YYMMDD)。 基于有效期范围的替代格式如下:

在铸造时,您还可以使用 -z 选项。
(-z 覆盖 -e 如果两者都给出。 如果两者都没有给出,则默认值为 6 个字符(时间
格式:YYMMDD))。

自动确定合适的时间宽度的规则 -e 如果不 -z 选项
给出的是:

* period >= 2 years 然后使用时间格式 YY 向下舍入到最接近的年份
开始;
* 2 年 < 期间 <= 2 个月然后使用时间格式 YYMM 向下舍入到
最近的月份开始;
* 2 个月 < 期间 <= 2 天然后使用时间格式 YYMMDD 向下舍入到
最近一天的开始;
* 2 days < period <= 2 minutes 然后使用时间格式 YYMMDDhhmm 向下舍入到
最近一分钟的开始;
* 周期 < 2 分钟,那么时间格式 YYMMDDhhmmss 以秒为单位。

请注意,四舍五入基于 UTC 时间,而不是本地时间。 这可能导致
在 GMT 以外的时区四舍五入到例如天数时,最初的结果令人惊讶
(UTC = GMT)。 如果您使用 -u 选项。

-z 宽度
-z 选项用于铸造期间,并允许用户选择时间宽度的宽度
场地。 另见 -e 结合给出的选项 -m 指定一个隐式
描述下的时间字段宽度 -e 旗帜。 有效宽度为 6,10 或 12
分别对应于: YYMMDD、YYMMDDhhmm 和 YYMMDDhhmmss 向下取整的字符
分别到最近的一天或分钟。

请注意,四舍五入基于 UTC 时间,而不是本地时间。 这可能导致
在 GMT 以外的时区四舍五入到例如天数时,最初的结果令人惊讶
(UTC = GMT)。 如果您使用 -u 选项。

-g 期间
-g 选项用于检查 hashcash 戳 -c 选项和
指定时钟偏差的宽限期,即如果 hashcash 戳的日期为
未来或过去它不会被拒绝为具有未来派日期(或作为
已过期)除非它比这更具未来感(或已过期更长时间)
时期。 默认为 2 天,这意味着只要发送系统的时钟是
不超过接收系统时钟 2 天(或后 2 天),
hashcash 邮票仍将被接受。

宽限期的默认单位是秒。 可以使用单个字符后缀
指定交替单位(m = 分钟,h = 小时,d = 天,M = 月,y = Y =
年,s = 秒)。

-d 将邮票存储在双花数据库中。 如果之前已经看到邮票,它将是
被拒绝,即使它是有效的。 默认数据库文件是 数据库.sdb in
当前目录。 只有在其他情况下有效的邮票才会存储在数据库中。
只有经过充分验证的邮票才会存储在数据库中,除非 -y 选项是
给定的。

-f DBNAME
使用 DBNAME 而不是双花数据库的默认文件名。

-p 期间
如果给定的时间段已过,则清除过期邮票的数据库
上次它被清除了。 为了方便 -p 现在 相当于 -p 0 两者
表示立即清除,无论上次清除数据库的时间。

如果结合使用 -j 资源 只有为给定资源铸造的邮票
被清除。

如果结合使用 -k 所有邮票甚至未过期的邮票都会被清除。 可
与...结合使用 -t 就好像当前时间是给定时间一样到期。

-k 与选项一起使用 -p 要求清除所有邮票而不仅仅是过期的邮票。

-j 资源
与选项一起使用 -p 请求只匹配给定资源名称的标记是
被清除,而不是默认清除所有过期的邮票。 如果
资源名称为空字符串,所有戳都匹配(这相当于
省略 -j 选项)。

注意 -E, -M-S 匹配标志的类型也适用于用 -j
资源 旗。

-s 仅打印时间信息,不要继续创建图章。 如果结合
-b 请求的碰撞大小需要多长时间的标志打印估计
计算,如果 -s 由自身给出,仅打印碰撞探测器的速度。 打印
估计默认位数将使用多长时间 -b 默认.

-h 打印简短的使用信息。

-v 打印更多关于邮票铸造或验证的详细信息输出。 (如果
-v 是唯一的参数,打印工具版本号。)

-V 打印工具版本号。

-q 批处理模式。 除输出外不打印任何信息。 此选项覆盖 -v
选项。

-X 铸造时,在邮票前打印 hashcash 电子邮件 X-header 'X-Hashcash:'。
如果没有此选项,则只会打印裸图。

检查时,在扫描作为参数给出的戳记后,扫描 stdin 中的行
以字符串 'X-Hashcash:' 开头,并使用匹配行的其余部分作为
邮票。 只扫描到第一个空白行和结束于第一个空白行的行(另请参见
-i 可用于覆盖它的标志)。 空行是用来分隔的
将标题与邮件消息或 USENET 文章的正文分开。 这意味着
以便于将邮件消息或 USENET 文章通过管道传输到 stdin 上的 hashcash。

-x 延期
由名称值集组成的扩展字符串。 扩展格式描述
下面关于 hashcash 戳格式的部分。 这允许用户定义他们的
自己的邮票扩展名被散列到邮票中,由收件人验证
支持他们,并被不支持他们的收件人忽略。 注意扩展名
钩子机制尚未实现。 这将在后续版本中出现。

-i 检查和使用时 -X 标志,忽略标题之间的空行边界
和消息的正文,如果没有找到,也检查正文中的碰撞
在标题中。

-t
假设当前时间是为了铸造邮票而给出的时间,验证
邮票并从数据库中清除旧邮票。 时间以基于的格式给出
UTCTIME 格式 YYMMDD[hhmm[ss]]。

时间默认以当地时间表示。 与 -u 以UTC时间给出时间的标志
(格林威治标准时间)。

您还可以通过在参数前加上 + 来给出相对于当前时间的时间
或者 -。 相对时间的默认单位是秒。 单个字符后缀可以
用于指定交替单位(m = 分钟,h = 小时,d = 天,M = 月,y =
Y = 年,s = 秒)。

注意:当时间以当地时间表示时,如果您的国家有夏令时
时区,每年有一个或两个不明确的小时从更改时
夏令时改为正常时间。

-u 以 UTC (GMT) 而不是本地时间输入和输出绝对时间。

-a 期间
从之前的当前时间添加(或减去如果数字为负)一个随机值
铸造邮票。 这会隐藏创建戳记的时间,这可能对以下情况有用
匿名用户。 注意添加(而不是减去)随机时间可能有风险,如果
邮票到达的时间少于增加的时间,因为收件人将拒绝邮票
带有未来的时间戳。

-n 从正在验证的图章中解析出的打印资源名称。 返回未选中的退出代码
退出。

-l 打印邮票到期前剩余的秒数。 返回未选中的退出代码
退出。

注:计算包括宽限期,所以最多可以是宽限期的2倍
比您预期的要长(时钟快但系统必须假设它可以
慢)。 如果要排除宽限期,请添加 -g0 将宽限期设置为 0
用于计算。

-w 打印邮票碰撞的位数。 返回退出时未选中的退出代码。

-y 如果标记有效,即使未完全检查,也返回成功。 与 -c
不是所有的 -d, -r 指定为在有效但部分获得成功退出代码
检查邮票。 同样可以与 -n, -l, -w 具有相同的效果。

-M 检查邮票时,允许通配符 * 匹配资源名称以使其成为
更简单地指定多个电子邮件地址并允许匹配所有地址
和地址,包括子域。 这是默认设置。 也可以看看 -S, -E-C

-S 检查图章时,使用简单的文本比较将资源名称与
邮票。 也可以看看 -M, -E-C.

-E 检查图章时使用正则表达式指定资源名称以使其
更简单地指定多个电子邮件地址、全能地址、扩展类别
地址和地址,包括子域。 注意正则表达式语法是 POSIX
样式:特殊字符不需要引用就具有特殊含义; 但
它们确实必须用 \ 引用到搜索字符串中的那个字符。 这
正则表达式自动在开头添加 ^ 并在末尾添加 $,
如果没有指定。 特殊字符 ^ 匹配开头
资源,$ 匹配资源的结尾。

(注意即使使用 BSD 正则表达式编译,也会使用 POSIX 风格的语法;也
注意 BSD 正则表达式不支持范围 {}。)

-C 默认情况下,资源在铸造和检查时被规范化为小写。 这
-C 标志覆盖它,以便资源在检查时被视为区分大小写,
并且没有在铸造上被规范化。

-P 打印进度信息(迭代次数、预期迭代次数、完成百分比、最佳
迄今为止发现的邮票尺寸)。

-O 核心
选择具有该编号的 hashcash 核心。 目前 0-9 是有效的核心。 并非所有内核
适用于所有架构。 例如,有些是特定于 x86 的汇编程序,有些是特定于 PPC 的
汇编程序。 如果核心无效 hashcash 返回失败并解释什么
发生了什么。

-Z n
压缩邮票。 这是一个时间与空间的权衡。 较大的邮票速度更快,但
可以说有点丑。 对于最快的邮票(默认)使用 -Z 0; 对于部分
压缩邮票使用 -Z 1; 对于非常压缩但有点慢的邮票使用 -Z 2。
(注意:由于发现的错误,-Z2 目前与 -Z1 相同,直到我可以修复
那。)

示例


创造 邮票

“哈希现金-s”
打印有关机器每秒可以尝试多少次碰撞的计时信息。

“哈希现金-sv”
不同处理器特定铸币的更准确但相当慢的基准测试
核心。

“hashcash -s -b 默认”
打印机器计算默认大小的碰撞需要多长时间(但
实际上并不计算碰撞)。

“hashcash -s -b 32”
打印机器计算 32 位碰撞需要多长时间(但不要
实际上计算碰撞)。

“哈希现金-m”
铸造邮票。 将提示输入资源名称和默认值(数量
冲突位)。

“hashcash -m foo”
计算资源 foo 上的冲突。 将铸造默认值(碰撞次数
位)。

“hashcash -m foo -b 10”
计算资源 foo 上的 10 位冲突。

“hashcash -a -3d”
从图章的创建时间中减去 0 天到 3 天之间的随机时间。
这与 mixmaster 用于降低时序相关风险的模糊因子相同。

检查 邮票

"hashcash -w 1:24:040806:foo::511801694b4cd6b0:1e7297a"
报告戳记的值(有多少位冲突)。 例子是
24 位碰撞,在 25Ghz P3 上创建平均需要 4 秒。

"hashcash -mq -b 10 foo 获得 hashcash -w"
以批处理模式创建图章,传递到标准输入上的 hashcash 进行验证,让它打印如何
有很多位。

"hashcash -n 1:24:040806:foo::511801694b4cd6b0:1e7297a"
从图章报告资源名称。 示例中的资源名称是 foo。

"hashcash -l -e 30y 1:24:040806:foo::511801694b4cd6b0:1e7297a"
如果邮票在创建后的 30 年内过期,请报告它的过期时间
日期。 (注意日期太远的未来会进入 2038 年的纪元末期,即
y2k 错误的 Unix 时间模拟)。

验证 邮票

"hashcash -c 1:24:040806:foo::511801694b4cd6b0:1e7297a"
检查邮票是否有效。 请注意,因为我们不会在双花中检查邮票
数据库,并且没有指定资源名称或所需的冲突位数
并且 hashcash 将认为邮票未完全检查,并将其报告为有效
但并非完全未经检查,或者如果邮票有任何问题,则视为无效。

"hashcash -c -b24 1:24:040806:foo::511801694b4cd6b0:1e7297a"
检查标记的值是否大于或等于 24 位。 这个例子有 24
位值。 如果您增加请求的位数或用一个替换戳记
少于 24 位的冲突,邮票将被拒绝。

“hashcash -c -b24 -r foo 1:24:040806:foo::511801694b4cd6b0:1e7297a”
如上所述检查邮票是否有足够的价值,但另外检查
给定的资源名称与图章中的资源名称匹配。

花费 预防

可以修改“验证邮票”中给出的示例以保留双花数据库
这样同一张邮票就不会被接受两次。 请注意,邮票只会被签入
并添加到数据库中,如果它在其他方面有效且经过全面检查(所需数量的
已指定冲突位并已指定资源)。

“hashcash -cd -b 10 -r foo 1:24:040806:foo::511801694b4cd6b0:1e7297a”
检查邮票并添加到双花数据库,如果它有效(有正确的资源
名称和足够的价值)。

“hashcash -cd -b 10 -r foo 1:24:040806:foo::511801694b4cd6b0:1e7297a”
尝试双花邮票。 它将被拒绝为双花。

邮票 合同到期

为了防止双花数据库无限增长,接收者可以请求
邮票不得超过指定时期。 过期后的旧邮票可以从
双花数据库,因为它们将不再需要——过期的邮票可以被拒绝
纯粹基于他们的旧日期,所以双花中过期邮票所占用的空间
可以保存数据库,而不会冒接受过期但有效的戳的风险。

戳记的第三个字段是自 1 年 1970 月 XNUMX 日以来的 UTC 时间。默认时间
格式为 YYMMDD,时间四舍五入到最近的一天。 默认有效期为28
天。

您可以提供一个替代的有效期 -e 选项。

“hashcash -cd -b 10 -e 2d -r foo 1:24:040806:foo::511801694b4cd6b0:1e7297a”
尝试验证旧邮票,上面的邮票创建于 11 年 2002 月 XNUMX 日。

我们给了选择 -e 2d 所以邮票的有效期是创建后的 2 天,也就是现在
在过去的。

注:若创作时间以邮票为单位表示,则为精确创作
date 是 UTC 时间中指定日期的开始(类似的换算单位
创建时间向下舍入到表示它的单位的开头)。
例如,对于以天为单位的单位,这可能意味着取决于您的时区
在以天为单位的指定到期期限内,邮票似乎被视为无效
相对于您对这一天的相对看法,因为计算基于
当前时间以 UTC 表示,而图章的创建时间以 UTC 时间表示。

“hashcash -cd -b 10 -r foo 1:24:040806:foo::511801694b4cd6b0:1e7297a”
测试邮票是否有效,除了已过期。 省略 -e
告诉 hashcash 邮票永远不会过期。 一个永远的有效期也可以
像这样明确给出: -e 0,其中到期时间为 0 意味着永远。

吹扫 邮票

如果 -c, -d 选项一起使用,每次检查邮票时,如果它有效并且
验证戳的所有强制性方面(冲突位检查、资源
名称检查),然后将戳记及其有效期写入数据库文件。 这
如果未明确给出到期期限,则默认到期期限 -e 选项是 28
天(即邮票在 4 周后到期)。

首先薄荷,然后添加邮票:

“hashcash -m -b 10 foo -e 1m > 戳”
注意:我们在这个例子中指定了铸造的到期时间,以确保邮票
创建时间在邮票中以足够高的分辨率给出,邮票不会
在创建时被视为过期。 (回想一下默认的分辨率是天,
用四舍五入到一天开始的创建时间创建的邮票是
不太可能在 1 分钟后被视为有效,除非您在 UTC 午夜铸造它
时间。)

“hashcash -cd -e 1m -b 10 -r foo < 邮票”
邮票在 1 分钟后失效。 等待 1 分钟,然后明确请求过期
邮票被清除:

“hashcash -p 现在”
然后尝试重新提交相同的图章:

“hashcash -cd -e 1m -b 10 -r foo < 邮票”
无论如何,邮票将被拒绝,因为它已经过期,说明为什么它没有
必须在数据库中保留此戳记。

使用默认数据库(sdb 格式),数据库内容是人类可读的,
所以你可以通过将它们连接到终端来查看它们的内容:

“猫 hashcash.sdb”
看到邮票真的被添加,然后在净化后由于以下原因被清除
到期。

吹扫 邮票 on 需求

为方便起见,您可以在检查邮票的同时使用 -p 选项
-c 选项。

“hashcash -m -b 10 foo > 戳”
“hashcash -cd -p 现在 -e 1 -b 10 -r foo < 邮票”
在每次使用时清除戳记可能效率低下,因为整个数据库必须
扫描过期邮票。 通过给一个时间段 -p 选项,你可以告诉
“hashcash”的清除频率不超过自上次清除以来的那个时间段。

例如:

“hashcash -cd -p 1d -e 1 -b 10 -r foo < 邮票”
告诉“hashcash”每天不超过一次清除任何过期的邮票。

“hashcash -p 1M -j foo”
告诉“hashcash”每月只清除一次与资源 foo 匹配的过期邮票。

“hashcash -p 现在 -k”
告诉“hashcash”现在清除所有邮票(过期和未过期)。

邮票 格式 (版本 1)


当前的邮票格式是版本1。这个工具可以验证hashcash版本0的邮票
同样,但不再创建版本 0 邮票,因为它们正在被逐步淘汰以支持
更可扩展的 v1 邮票格式。

版本::日期:资源:[分机]:兰特:对付

哪里

版本 = 1
= 邮票声称有多少位部分碰撞
日期 = YYMMDD[时分[秒]]
资源 = 资源字符串(例如 IP 地址、电子邮件地址)
分机 = extension -- 在当前版本中被忽略
扩展格式:

[name1[=val1[,val2...]];[name2[=val1[,val2...]]...]]
请注意,该值还可以包含 =。 示例扩展(不是真正的):

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

这将是扩展名 1 具有值 2 和 3; 扩展名 2 没有值;
扩展名 3 有 3 个值“var1=2”、“var2=3”、“2”和“val”。 哈希现金
扩展可能会解释它认为合适的值,例如“var1=2”可能是值
扩展名 3 的一个选项。

兰特 = 字母 a-zA-Z0-9+/= 中的随机字符字符串,以避免与
其他寄件人的邮票
对付 = 要找到具有所需碰撞位数的戳记需要尝试很多
不同的字符串此计数器在每次尝试时递增。 计数器也由
字母 a-zA-Z0-9+/= 中的字符。 (注意不需要实现
依次计数)。

使用 onworks.net 服务在线使用 hashcash


免费服务器和工作站

下载 Windows 和 Linux 应用程序

  • 1
    Alt-F
    Alt-F
    Alt-F 提供了一个免费和开源的
    DLINK 的替代固件
    DNS-320/320L/321/323/325/327L and
    DNR-322L。 Alt-F 有 Samba 和 NFS;
    支持ext2/3/4...
    下载 Alt-F
  • 2
    usm
    usm
    usm 是一个统一的 slackware 包
    处理自动的经理
    依赖解决。 它统一了
    各种软件包存储库,包括
    slackware、slacky、p...
    下载usm
  • 3
    chart.js之
    chart.js之
    Chart.js 是一个 Javascript 库,它
    允许设计师和开发人员绘制
    使用HTML5的各种图表
    画布元素。 Chart js 提供了一个很好的
    大批 ...
    下载 Chart.js
  • 4
    用于JasperReports的iReport-Designer
    用于JasperReports的iReport-Designer
    注意:iReport/Jaspersoft Studio 支持
    公告:从 5.5.0 版开始,
    Jaspersoft Studio 将成为官方
    JasperReports 的设计客户端。 iReport
    将...
    下载 JasperReports 的 iReport-Designer
  • 5
    安装后F
    安装后F
    PostInstallerF 将安装所有
    Fedora Linux 和其他软件
    默认不包括,之后
    第一次运行 Fedora。 它的
    容易...
    下载 PostInstallerF
  • 6
    痕迹
    痕迹
    strace 项目已移至
    https://strace.io. strace is a
    诊断、调试和指导
    Linux 的用户空间跟踪器。 它被使用
    监控一个...
    下载跟踪
  • 更多 ”

Linux 命令

Ad