A golang tool to generate keys required for using 3DES-DUKPT
GitHub - hashlab/dukptkit: A golang tool to generate keys required for using 3DES-DUKPT
     ____  _   _ _  ______ _____ _  ___ _
    |  _ \| | | | |/ /  _ \_   _| |/ (_) |_
    | | | | | | | ' /| |_) || | | ' /| | __|
    | |_| | |_| | . \|  __/ | | | . \| | |_
    |____/ \___/|_|\_\_|    |_| |_|\_\_|\__|

    

A golang tool to generate keys required for using 3DES-DUKPT

Installation
$ go get -u github.com/hashlab/dukptkit
Usage
Generating a BDK identifier (KSI)
$ dukptkit generate-ksi

BDK identifier (KSI): D56D 0AFA 76
Generating a component key
$ dukptkit generate-component --force-odd

Component Key: AD31 4062 6EEF BCE0 E313 5B45 73EA F794
KCV: D1FD6C
Odd Parity: true
Combining 3 component keys to generate a combined key
$ dukptkit combine --show-combined-key

? Enter the component key 1: ********************************
? Enter the component key 2: ********************************
? Enter the component key 3: ********************************

KCV from Component Key 1: 461F68
KCV from Component Key 2: 2EC7BC
KCV from Component Key 3: B69F03

Combined Key: B329 9B2A 38BC 9D8C 3EEC 0BCE 9237 F17F
Final KCV: 9F1DBF
Odd Parity: true
Getting Started
1º Clone dukptkit repo
$ git clone git@github.com:hashlab/dukptkit.git
2º Enter in dukptkit directory

3º Run the builder

4º Run the CLI

Conventions of commit messages
Addding files on repo
git commit -m "Add filename"
Updating files on repo
git commit -m "Update filename, filename2, filename3"
Removing files on repo
git commit -m "Remove filename"
Renaming files on repo
git commit -m "Rename filename"
Fixing errors and issues on repo
git commit -m "Fixed #issuenumber Message about this fix"
Adding features on repo
git commit -m "Add feature: nameoffeature Message about this feature"
Updating features on repo
git commit -m "Update feature: nameoffeature Message about this update"
Removing features on repo
git commit -m "Remove feature: nameoffeature Message about this"
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/hashlab/dukptkit. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

Fork it hashlab/dukptkit
Create your feature branch (git checkout -b my-new-feature)
Commit your changes (git commit -am "Add some feature")
Push to the branch (git push origin my-new-feature)
Create new Pull Request

Support
If you have any problem or suggestion please open an issue here.
License
Check here.
