tokenizerd

command module
v0.0.0-...-7c909d9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2012 License: GPL-3.0 Imports: 11 Imported by: 0

README

tokenizerd - A data tokenization server

Tokenizerd presents REST and JSON-over-websocket APIs for tokenizing and detokenizing arbitrary strings. A token uniquely represents, but is not programmatically derived from, the original string.

See Wikipedia's page on [Tokenization](http://en.wikipedia.org/wiki/Tokenization_(data_security)) for background on why one might want to tokenize some data.

Security Note

Tokenizerd does not currently implement any sort of access control or transport encryption. Use it at your own risk!

Usage

Run tokenizerd

By default tokenizerd connects to MongoDB on localhost over the default port, and listens for websocket connections on ws://localhost:3000. These can be changed with command line flags:

$ ./tokenizerd -help
Usage of ./tokenizerd:
  -mongo="localhost": URL of MongoDB server
  -url="localhost:3000": Host/port on which to run websocket listener

REST API

Tokenize
http://localhost:3000/v1/rest/tokenize/{string}

Returns status code 200 and a token string, or status code 500 and an error message.

Detokenize
http://localhost:3000/v1/rest/detokenize/{string}

Returns status code 200 and the original string; status code 404, indicating no such token exists in the database; or status code 500 and an error message.

JSON over Websocket API

Connect to tokenizerd with a websocket client. You can use Echo Test to experiment.

Tokenize

Connect to the websocket:

ws://localhost:3000/v1/ws/tokenize

Issue a JSON request:

{
	"ReqId": "an arbitrary string identifying this request",
	"Data": {
		"fieldname1": "fieldvalue1",
		"field name 2": "field  value 2"
	}
}

Response:

{
	"ReqId": "an arbitrary string identifying this request",
	"Status": "Success",
	"Error": "",
	"Data": {
		"field name 2": "OTMyMzgzMDAw",
		"fieldname1": "OTMwMjkxMDAw"
	}
}
Detokenize

Connect to the websocket:

ws://localhost:3000/v1/ws/detokenize

Issue a JSON request:

{
	"ReqId": "foobar",
	"Data": {
		"field name 2": "OTMyMzgzMDAw",
		"fieldname1": "OTMwMjkxMDAw",
		"fieldname 3": "non-existent token string"
	}
}

Response:

{
	"ReqId": "foobar",
	"Status": "Success", 
	"Error": "",
	"Data": {
		"field name 2": {
			"Token": "OTMyMzgzMDAw",
			"Found":true,
			"Text": "field value 2"
		},
		"fieldname1": {
			"Token": "OTMwMjkxMDAw",
			"Found":true,
			"Text":"fieldvalue1"
		},
		"fieldname 3": {
			"Token":"non-existent token string",
			"Found": false,
			"Text":""
		}
	}
}

License

Tokenizerd is Free Software, released under the terms of the GPL

Documentation

Overview

Tokenizerd is a data tokenization server.

Directories

Path Synopsis
api
ws

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL