mirror of https://github.com/captn3m0/epicqr.git
Nemo deb0cdfa3d | ||
---|---|---|
_scripts | ||
_targets | ||
src | ||
test | ||
.gitignore | ||
HACKING.md | ||
LICENSE | ||
README.md | ||
SPEC.md | ||
extraParams.hxml | ||
haxelib.json |
README.md
EPIC QR Decoder
Haxe library to decode a QR code on a modern EPIC Card. This is a polyglot repo, containing source code for multiple languages:
- Haxe
- Java
The Haxe code can be cross-compiled to several targets including PHP/Python/Flash/JVM/JS etc.
TODO
- Tests for Haxe.
- Tests for Haxe with specific targets
- Publish 1.0.
- Publish releases for Swift.
- Publish releases for JS.
- Publish releases for Nodejs.
- Create maven release on GitHub Packages.
- Create Demo website.
Usage
Haxe
import eci.EpicQR;
class Main{
static function Main(){
// This is the result of scanning the QR code as text.
var result = decrypt("dbhvecY6Roa4NF3gAzEbkTibZZzXAEYpMg8197BQWMS2+ID24FGDKWB5IEcuxjsA81ChprhSO3EsjKMRDbBWLg==");
trace(result.epic); // "ABC1234566"
trace(result.id); // 1234
}
}
Java
import eci.EpicQR;
// This is the result of scanning the QR code as text.
String e1 = "dbhvecY6Roa4NF3gAzEbkTibZZzXAEYpMg8197BQWMS2+ID24FGDKWB5IEcuxjsA81ChprhSO3EsjKMRDbBWLg==";
Result r1 = EpicQR.decode(e1);
assert r1.epic.equals("ABC1234566") : "Invalid EPIC";
assert r1.id == 1234 : "Invalid Unique ID";
Nodejs
// TODO Import
const E = require('eci').EpicQR;
var r = E.decode("dbhvecY6Roa4NF3gAzEbkTibZZzXAEYpMg8197BQWMS2+ID24FGDKWB5IEcuxjsA81ChprhSO3EsjKMRDbBWLg==")
console.log(r.epic) // "ABC1234566"
Specification
See SPEC.md
.
LICENSE
Licensed under MIT. See LICENCE
file for more details.