|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.nettgryppa.security.HashCash
public class HashCash
Class for generation and parsing of HashCash
Copyright 2006 Gregory Rubin grrubin@gmail.com
Permission is given to use, modify, and or distribute this code so long as this message remains attached
Please see the spec at: http://www.hashcash.org/
Field Summary | |
---|---|
static int |
DefaultVersion
|
Constructor Summary | |
---|---|
HashCash(java.lang.String cash)
Parses and validates a HashCash. |
Method Summary | |
---|---|
int |
compareTo(HashCash other)
Compares the value of two HashCashes |
boolean |
equals(java.lang.Object obj)
Two objects are considered equal if they are both of type HashCash and have an identical string representation |
static long |
estimateTime(int value)
Estimates how many milliseconds it would take to mint a cash of the specified value. |
static int |
estimateValue(int secs)
Estimates what value (e.g. |
java.util.Calendar |
getDate()
The minting date |
java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getExtensions()
Extra data encoded in the HashCash |
java.lang.String |
getResource()
The primary resource being protected |
int |
getValue()
The value of the HashCash (e.g. |
int |
getVersion()
Which version of HashCash is used here |
static HashCash |
mintCash(java.lang.String resource,
java.util.Calendar date,
int value)
Mints a version 1 HashCash |
static HashCash |
mintCash(java.lang.String resource,
java.util.Calendar date,
int value,
int version)
Mints a HashCash |
static HashCash |
mintCash(java.lang.String resource,
int value)
Mints a version 1 HashCash using now as the date |
static HashCash |
mintCash(java.lang.String resource,
int value,
int version)
Mints a HashCash using now as the date |
static HashCash |
mintCash(java.lang.String resource,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> extensions,
java.util.Calendar date,
int value)
Mints a version 1 HashCash |
static HashCash |
mintCash(java.lang.String resource,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> extensions,
java.util.Calendar date,
int value,
int version)
Mints a HashCash |
static HashCash |
mintCash(java.lang.String resource,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> extensions,
int value)
Mints a version 1 HashCash using now as the date |
static HashCash |
mintCash(java.lang.String resource,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> extensions,
int value,
int version)
Mints a HashCash using now as the date |
java.lang.String |
toString()
Returns the canonical string representation of the HashCash |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int DefaultVersion
Constructor Detail |
---|
public HashCash(java.lang.String cash) throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException
- If SHA1 is not a supported Message DigestMethod Detail |
---|
public static HashCash mintCash(java.lang.String resource, int value) throws java.security.NoSuchAlgorithmException
resource
- the string to be encoded in the HashCash
java.security.NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic static HashCash mintCash(java.lang.String resource, int value, int version) throws java.security.NoSuchAlgorithmException
resource
- the string to be encoded in the HashCashversion
- Which version to mint. Only valid values are 0 and 1
java.security.NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic static HashCash mintCash(java.lang.String resource, java.util.Calendar date, int value) throws java.security.NoSuchAlgorithmException
resource
- the string to be encoded in the HashCash
java.security.NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic static HashCash mintCash(java.lang.String resource, java.util.Calendar date, int value, int version) throws java.security.NoSuchAlgorithmException
resource
- the string to be encoded in the HashCashversion
- Which version to mint. Only valid values are 0 and 1
java.security.NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic static HashCash mintCash(java.lang.String resource, java.util.Map<java.lang.String,java.util.List<java.lang.String>> extensions, int value) throws java.security.NoSuchAlgorithmException
resource
- the string to be encoded in the HashCashextensions
- Extra data to be encoded in the HashCash
java.security.NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic static HashCash mintCash(java.lang.String resource, java.util.Map<java.lang.String,java.util.List<java.lang.String>> extensions, int value, int version) throws java.security.NoSuchAlgorithmException
resource
- the string to be encoded in the HashCashextensions
- Extra data to be encoded in the HashCashversion
- Which version to mint. Only valid values are 0 and 1
java.security.NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic static HashCash mintCash(java.lang.String resource, java.util.Map<java.lang.String,java.util.List<java.lang.String>> extensions, java.util.Calendar date, int value) throws java.security.NoSuchAlgorithmException
resource
- the string to be encoded in the HashCashextensions
- Extra data to be encoded in the HashCash
java.security.NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic static HashCash mintCash(java.lang.String resource, java.util.Map<java.lang.String,java.util.List<java.lang.String>> extensions, java.util.Calendar date, int value, int version) throws java.security.NoSuchAlgorithmException
resource
- the string to be encoded in the HashCashextensions
- Extra data to be encoded in the HashCashversion
- Which version to mint. Only valid values are 0 and 1
java.security.NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getExtensions()
public java.lang.String getResource()
public java.util.Calendar getDate()
public int getValue()
public int getVersion()
public static long estimateTime(int value) throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic static int estimateValue(int secs) throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic int compareTo(HashCash other)
compareTo
in interface java.lang.Comparable<HashCash>
other
- Comparable.compareTo(Object)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |