|
||||||||||
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(String cash)
Parses and validates a HashCash. |
Method Summary | |
---|---|
int |
compareTo(HashCash other)
Compares the value of two HashCashes |
boolean |
equals(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. |
Calendar |
getDate()
The minting date |
Map<String,List<String>> |
getExtensions()
Extra data encoded in the HashCash |
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(String resource,
Calendar date,
int value)
Mints a version 1 HashCash |
static HashCash |
mintCash(String resource,
Calendar date,
int value,
int version)
Mints a HashCash |
static HashCash |
mintCash(String resource,
int value)
Mints a version 1 HashCash using now as the date |
static HashCash |
mintCash(String resource,
int value,
int version)
Mints a HashCash using now as the date |
static HashCash |
mintCash(String resource,
Map<String,List<String>> extensions,
Calendar date,
int value)
Mints a version 1 HashCash |
static HashCash |
mintCash(String resource,
Map<String,List<String>> extensions,
Calendar date,
int value,
int version)
Mints a HashCash |
static HashCash |
mintCash(String resource,
Map<String,List<String>> extensions,
int value)
Mints a version 1 HashCash using now as the date |
static HashCash |
mintCash(String resource,
Map<String,List<String>> extensions,
int value,
int version)
Mints a HashCash using now as the date |
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(String cash) throws NoSuchAlgorithmException
NoSuchAlgorithmException
- If SHA1 is not a supported Message DigestMethod Detail |
---|
public static HashCash mintCash(String resource, int value) throws NoSuchAlgorithmException
resource
- the string to be encoded in the HashCash
NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic static HashCash mintCash(String resource, int value, int version) throws NoSuchAlgorithmException
resource
- the string to be encoded in the HashCashversion
- Which version to mint. Only valid values are 0 and 1
NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic static HashCash mintCash(String resource, Calendar date, int value) throws NoSuchAlgorithmException
resource
- the string to be encoded in the HashCash
NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic static HashCash mintCash(String resource, Calendar date, int value, int version) throws NoSuchAlgorithmException
resource
- the string to be encoded in the HashCashversion
- Which version to mint. Only valid values are 0 and 1
NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic static HashCash mintCash(String resource, Map<String,List<String>> extensions, int value) throws NoSuchAlgorithmException
resource
- the string to be encoded in the HashCashextensions
- Extra data to be encoded in the HashCash
NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic static HashCash mintCash(String resource, Map<String,List<String>> extensions, int value, int version) throws 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
NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic static HashCash mintCash(String resource, Map<String,List<String>> extensions, Calendar date, int value) throws NoSuchAlgorithmException
resource
- the string to be encoded in the HashCashextensions
- Extra data to be encoded in the HashCash
NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic static HashCash mintCash(String resource, Map<String,List<String>> extensions, Calendar date, int value, int version) throws 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
NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic boolean equals(Object obj)
equals
in class Object
public String toString()
toString
in class Object
public Map<String,List<String>> getExtensions()
public String getResource()
public Calendar getDate()
public int getValue()
public int getVersion()
public static long estimateTime(int value) throws NoSuchAlgorithmException
NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic static int estimateValue(int secs) throws NoSuchAlgorithmException
NoSuchAlgorithmException
- If SHA1 is not a supported Message Digestpublic int compareTo(HashCash other)
compareTo
in interface Comparable<HashCash>
other
- Comparable.compareTo(Object)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |