https://github.com/core-lib/cryptogram
Structured object sign and verify framework
https://github.com/core-lib/cryptogram
Last synced: about 1 year ago
JSON representation
Structured object sign and verify framework
- Host: GitHub
- URL: https://github.com/core-lib/cryptogram
- Owner: core-lib
- License: apache-2.0
- Created: 2018-10-17T09:59:38.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-10-13T10:27:36.000Z (over 5 years ago)
- Last Synced: 2025-01-05T01:42:49.991Z (over 1 year ago)
- Language: Java
- Homepage:
- Size: 36.1 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cryptogram [](https://www.jitpack.io/#core-lib/cryptogram)
## Installation
```xml
jitpack.io
https://jitpack.io
com.github.core-lib
cryptogram
1.0.0
commons-codec
commons-codec
1.11
```
## Usage
```java
public class Testing {
@Test
public void test() throws Exception {
Codec signCodec = new HexCodec();
Codec keyCodec = new PlainCodec();
StringifyProvider stringifyProvider = new DefaultStringifyProvider();
SignatureProvider signatureProvider = new HMACSHA256SignatureProvider();
VerificationProvider verificationProvider = new HMACSHA256VerificationProvider();
Cryptography cryptography = new Cryptography(
signCodec,
keyCodec,
stringifyProvider,
signatureProvider,
verificationProvider
);
String secretKey = "io.codex.cryptogram";
Map param = new HashMap();
param.put("username", "codex");
param.put("password", "codex");
{
// HmacSHA256("{password=codex&username=codex}", "io.codex.cryptogram")
String signature = cryptography.sign(param, secretKey);
boolean verified = cryptography.verify(param, signature, secretKey);
assert verified : "A serious bug";
}
{
// HmacSHA256("POST /login?{password=codex&username=codex}×tamp=1539851150142", "io.codex.cryptogram")
long timestamp = 1539851150142L;
String signature = cryptography.sign(param, "POST /login?", "×tamp=" + timestamp, secretKey);
boolean verified = cryptography.verify(param, "POST /login?", "×tamp=" + timestamp, signature, secretKey);
assert verified : "A serious bug";
}
}
}
```